Я хочу использовать ZipArchive::setEncryptionName
на сервере Ubuntu 18.04.1 с PHP 7.2.7
Проблема - это setEncryptionName
нуждается в версии Libzip по крайней мере 1,2
Конфигурация по умолчанию от информации PHP:
Команды, которые не помогли:
sudo apt-get update && sudo apt-get install libzip4
libzip4 уже является новейшей версией (1.1.2-1.1)
sudo apt-get install php-zip
php-zip уже является новейшей версией (1:7.2+60ubuntu1)
(1) Найдите более новую версию libzip и libzip-dev на Панели запуска. В настоящее время это 1.5.1 под Горностаем Eoan. Загрузите корректные deb файлы (libzip-dev_1.5.1-0ubuntu1_amd64.deb и libzip5_1.5.1-0ubuntu1_amd64.deb).
(2) Установите их с
sudo dpkg -i libzip-dev_1.5.1-0ubuntu1_amd64.deb libzip5_1.5.1-0ubuntu1_amd64.deb
Они могут пропускать некоторые зависимости, можно попытаться установить их с Кв. сначала, таким образом, Вы не должны больше загружать "несовместимые" пакеты с Панели запуска. Затем повторно выполните эту команду.
(3) php-zip установки. ГРУША установки (PECL) для обновления php-zip до более новой версии. Также установите php-dev, требуемый PECL создавать php-zip.
sudo apt install php-zip php-pear php-dev
(4) php-zip обновления для поддержки более нового libzip.
sudo pecl install zip
(5) Вероятно, Вам больше не нужны библиотеки разработки.
sudo apt purge php-dev libzip-dev
sudo apt autoremove
(6) См. phpinfo (), если у Вас есть корректная libzip версия. Вы, возможно, должны перезапустить свой веб-сервер.
(7) Можно предотвратить склонный от автоматического обновления php-zip, повредив пользовательскую установку. Но затем необходимо не забыть вручную обновлять php с pecl или проверку если чем более новая поддержка версии, тем более новый libzip. (См. установленную версию с sudo dpkg-l | grep zip),
sudo apt-mark hold php<installed version>-zip
Для возвращения исходной версии (принимающий Вы использовали libzip5, и Вам не нужны ранее установленные пакеты):
sudo apt-mark unhold php<installed version>-zip
sudo pecl uninstall zip
sudo apt purge php-pear libzip5 php-zip
sudo apt autoremove
sudo apt install php-zip