Как обновить Libzip к 1,2 на человечности 18.04 и PHP 7.2

Я хочу использовать ZipArchive::setEncryptionName на сервере Ubuntu 18.04.1 с PHP 7.2.7

Проблема - это setEncryptionName нуждается в версии Libzip по крайней мере 1,2

Конфигурация по умолчанию от информации PHP:

  • Версия 1.15.2 zip
  • Версия 1.1.2 Libzip

Команды, которые не помогли:

  • 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)

4
задан 4 September 2018 в 00:04

1 ответ

(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
1
ответ дан 1 December 2019 в 10:31

Другие вопросы по тегам:

Похожие вопросы: