2013-09-12 7 views
19

Я пытаюсь установить расширение PHP Zip.Установка расширения PHP Zip

У моего сервера нет внешнего доступа в Интернет, поэтому я сам его загрузил из PECL: http://pecl.php.net/package/zip. Я выбрал 1.10.2, самую последнюю «стабильную» версию и перенес ее на свой сервер.

Я побежал:

pear install zip-1.10.2.tgz 

и добавил

extension=zip.so 

в php.ini в соответствии с инструкциями. Я вижу, что zip.so был создан и помещен в правую папку extension_dir. Я перезагрузил апача, а затем проверить, чтобы увидеть, если он был загружен подряд:

php -m 

Несмотря на все это, «молния» до сих пор не в этом списке.

Я пропустил шаг или сделал что-то не так? Я думал, это должно быть очень просто, и я начинаю чувствовать себя довольно глупым, ха-ха.

Другие вероятно важные вещи:

CentOS Apache 2.2.3 PHP 5.2.16

ответ

16

Вы можете иметь несколько php.ini файлов, один для CLI и один для апача. Запустите php --ini, чтобы узнать, где находится местоположение CLI.

+0

Спасибо за ответ. Это возвращает следующее (извините за это, я не уверен, как разбить строку в комментарии): Загруженный файл конфигурации: (нет) Сканирование дополнительных файлов .ini в: (none) Дополнительные .ini-файлы проанализированы: (none) , Кроме того, find/-name «php.ini» сообщает мне, что это единственный файл php.ini на поле – Ubunfu

+0

Он не загружал конфигурационный файл. Это твоя проблема. Мой PHP также показывает «файл конфигурации (php.ini)» с «php -ini». Используйте '$ strace -eopen php -ini', чтобы узнать, где вы ищете PHP-файл .ini. – cweiske

+0

Извините за то, что позволил этому умереть без объяснения причин. 'php -ini' говорит, что путь к файлу конфигурации'/usr/bin' ... мне просто нужно его переместить? Кроме того, если ничего из файла конфигурации не вступает в силу, PHP поставляется с набором значений по умолчанию, которые он использует вместо этого? – Ubunfu

37

Это, как я установил его на моей машине (Ubuntu):

PHP 7:

sudo apt-get install php7.0-zip 

PHP 5:

sudo apt-get install php5-zip 

Edit:
Убедитесь перезапустить ваш сервер впоследствии.

sudo /etc/init.d/apache2 restart или sudo service nginx restart

PS: Если вы используете CentOS, пожалуйста, проверьте выше cweiske «s answer
Но если вы используете Debian образовавшаяся ОС, это решение поможет вам устанавливать расширения PHP зип ,

+1

Обязательно перезапустите Apache после этого: /etc/init.d/apache2 restart – Leandro

+10

Указанный опцией он находится на CentOS ... –

+1

Кажется, вы предлагаете использовать диспетчер пакетов для решения или предотвращения каких-либо проблем. В CentOS, как менеджер пакетов, используется [yum] (https://www.centos.org/docs/5/html/yum/sn-managing-packages.html#sn-yum-installing-withrepositories). – rene

2

Если вы используете php5.6 затем выполнить следующее:

sudo apt-get install php5.6-zip

+1

> CentOS Apache 2.2.3 PHP 5.2.16 – BVengerov

3

1 Шаг - Установите требуемое расширение

sudo apt-get install libz-dev -y 

2 Шаг - Установите расширение PHP

pecl install zlib zip 

3 Шаг - Перезапустите свой Apach е

sudo /etc/init.d/apache2 restart 

Enable PHP ZIP Extension

Если не работает, вы можете проверить, если zip.ini называется в вашем phpinfo, чтобы проверить, если zip.so был включен.

0

если sudo apt-get install php5.6-zip не работает, попробуйте sudo apt-get update, а затем попробовать sudo apt-get install php5.6-zip

Смежные вопросы