Прервать class-pclzip.php: Отсутствие расширений zlib
Поскольку я восстановился после некоторого беспорядка, возникшего после обновления сервера Ubuntu до 14.04, на двух веб-сайтах Wordpress, которые я размещал на сервере, при открытии случайно отображалось следующее сообщение об ошибке:
Abort class-pclzip.php : Missing zlib extensions
Странно то, что обновление избавляет от сообщения. Хотя это работает для меня, не стоит полагаться на сообразительность гостя.
Итак, не могли бы вы помочь мне выяснить, чего не хватает и как его добавить?
Спасибо!
2 ответа
Чтобы обойти эту проблему, мне пришлось перекомпилировать PHP из исходного кода с включенной поддержкой zlib. По умолчанию PHP 5.5.x не включает поддержку zlib.
После загрузки исходного кода с сайта PHP (из моего домашнего каталога):
gunzip php-5.5.23.tar.gz
tar xvf php-5.5.23.tar
cd php-5.5.23
./configure --with-mysql --with-mysqli --enable-zip --enable-mbstring --with-zlib
make
sudo make install
Это устанавливает PHP в /usr/local
Вам также необходимо обновить сервер Apache, чтобы найти файл php.ini в /usr/local/lib, если он настроен на поиск в другом месте.
Основной причиной является плагин Wordpress, который проверяет поддержку ZLIB и ошибочно полагает, что ваша установка PHP его поддерживает. Подобно себе, я бы увидел это сообщение об ошибке случайно.
На самом деле я изменился
if (!function_exists('gzopen'))
в
if (!function_exists('gzopen64'))
решить вопрос.