PHP 7.2.7: Попытка вызова неопределенного метода с именем "setEncryptionName" класса "ZipArchive" - PullRequest
0 голосов
/ 06 июля 2018

Я пытаюсь создать зашифрованный, защищенный паролем ZIP-файл, используя PHP 7.2.7. Однако я получаю следующее сообщение об ошибке:

Attempted to call an undefined method named "setEncryptionName" of class "ZipArchive".

http://php.net/manual/en/ziparchive.setencryptionname.php

Если я удаляю $zip->setEncryptionName(), то все работает на 100%, за исключением того, что ZIP-файл не защищен паролем.

Я выполнил поиск в Google и на форуме и не могу найти никого, кто сталкивался с подобной проблемой, возможно, из-за того, что версия и функциональность PHP все еще так новы.

1 Ответ

0 голосов
/ 15 октября 2018

Для работы метода ZipArchive::setEncryptionName Вам понадобится PHP> = 7.2 С расширением ZIP.

Обратите внимание, что расширение ZIP должно быть скомпилировано с libzip-dev> = 1.2.0

Общей проблемой во многих предварительно скомпилированных пакетах является то, что компилятор не обновил libzip-dev до компиляции расширения php-zip. Что, вероятно, ваш случай.

Имейте в виду, что ваши ZIP-файлы не будут зашифрованы и что функция setPassword() используется только для извлечения почтовых индексов, если ZipArchive::setEncryptionName недоступен.

Вот список изменений: http://pecl.php.net/package-info.php?package=zip&version=1.14.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...