Установка Zip-расширения PHP

Я пытаюсь установить расширение 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. Я перезапустил apache, а затем проверил, загружен ли он, запустив:

php -m

Несмотря на все это, «зип» все еще не в этом списке.

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

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

CentOS Apache 2.2.3 PHP 5.2.16


person Ubunfu    schedule 12.09.2013    source источник


Ответы (11)


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

person cweiske    schedule 16.09.2013
comment
Спасибо за ответ. Это возвращает следующее (извините за это, я не уверен, как сделать разрыв строки в комментарии): Загруженный файл конфигурации: (нет) Сканировать дополнительные файлы .ini в: (нет) Проанализированные дополнительные файлы .ini: (нет). Также find/-name php.ini говорит мне, что это единственный файл php.ini на коробке - person Ubunfu; 20.09.2013
comment
Он не загрузил ни одного файла конфигурации. Это твоя проблема. Мой PHP также показывает путь к файлу конфигурации (php.ini) с php --ini. Используйте $ strace -eopen php --ini, чтобы узнать, где php ищет файл .ini. - person cweiske; 20.09.2013
comment
Извините, что позволил этому умереть без объяснений. php --ini говорит, что путь к файлу конфигурации /usr/bin ... мне просто нужно переместить его туда? Кроме того, если ничего из файла конфигурации не вступает в силу, поставляется ли PHP с набором значений по умолчанию, которые он использует вместо этого? - person Ubunfu; 26.09.2013
comment
да, есть значения по умолчанию. они задокументированы в руководстве по php. попробуйте переместить php.ini по пути, который вы нашли. - person cweiske; 26.09.2013

Вот как я установил его на свою машину (ubuntu):

пхп 7:

sudo apt-get install php7.0-zip

пхп 5:

sudo apt-get install php5-zip

Изменить.
После этого обязательно перезагрузите сервер.

sudo /etc/init.d/apache2 restart or sudo service nginx restart

PS: Если вы используете CentOS, ознакомьтесь с приведенным выше cweiske ответом < br> Но если вы используете производную от Debian ОС, это решение должно помочь вам установить расширение php zip.

person Ajeet Shah    schedule 04.05.2016
comment
После этого обязательно перезапустите Apache: /etc/init.d/apache2 restart - person Leandro; 20.05.2016
comment
Кажется, вы предлагаете использовать менеджер пакетов для решения или предотвращения каких-либо проблем. CentOS, похоже, использует yum в качестве менеджера пакетов. - person rene; 09.06.2016
comment
для php7.1 sudo apt установить php7.1-zip - person cecil merrel aka bringrainfire; 04.11.2017
comment
Кто-нибудь смог установить расширение zip для php7.2? он продолжает говорить E: Не удалось найти пакет php7.2-zip E: Не удалось найти ни одного пакета по регулярному выражению 'php7.2-zip' Я пробовал много вариантов, но ни один из них не работает, я иметь версию PHP 7.2.17-1+ubuntu14.04.1+deb.sury.org+3 - person Muhammad Omer Aslam; 12.09.2019

для PHP 7.3/Убунту

sudo apt install php7.3-zip

для PHP 7.4

sudo apt install php7.4-zip
person M_R_K    schedule 02.09.2019

Просто используйте sudo yum install php-zip

person priojeet priyom    schedule 30.11.2018
comment
В вопросе указано, что это для CentOS, а не для Ubuntu. CentOS использует yum, а не apt-get - person cgclip; 04.07.2019

Шаг 1. Установите необходимое расширение

sudo apt-get install libz-dev -y

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

pecl install zlib zip

Шаг 3. Перезапустите Apache.

sudo /etc/init.d/apache2 restart

«Включить

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

person Rafael Corrêa Gomes    schedule 19.12.2016

Для php 7.3 на Ubuntu 16.04

sudo apt-get install php7.3-zip

person kosala manojeewa    schedule 10.05.2020

В Amazon Linux 2 и PHP 7.4 я, наконец, получил PHP-ZIP для установки, и я надеюсь, что это поможет кому-то еще - следующим образом (обратите внимание, что в команду yum install также включены дополнительные общие модули, которые могут вам не понадобиться):

sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

sudo yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm

sudo yum -y install yum-utils

sudo yum-config-manager --enable remi-php74

sudo yum update

sudo yum install php php-cli php-fpm php-mysqlnd php-zip php-devel php-gd php-mcrypt php-mbstring php-curl php-xml php-pear php-bcmath php-json

sudo pecl install zip

php --modules

sudo systemctl restart httpd
person Dr. Aaron Dishno    schedule 13.03.2020
comment
нет необходимости устанавливать pecl, расширение ZIP доступно в репозитории remi-php74! - person Remi Collet; 13.03.2020
comment
Он не отображался в моем списке установленных модулей, пока я не сделал. Но у меня, возможно, было что-то еще не так из моих многочисленных попыток. Спасибо за замечание. - person Dr. Aaron Dishno; 16.03.2020

Лучший способ установить расширение Zip в php7.2 на CentOS будет следующим:

  1. Найдите доступное расширение, выполнив поиск с помощью команды yum.

    ням поиск почтовый индекс

  2. В нем будут перечислены все zip-пакеты. Нам нужно найти zip-пакет php7.2 введите здесь описание изображения

  1. Затем, если ваша версия php 7.2, выполните команду

    yum установить ea-php72-php-zip

Это определенно решит вашу проблему.

Ваше здоровье !!

person H Arif    schedule 19.08.2020

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

sudo apt-get install php5.6-zip

person D.Dimitrioglo    schedule 06.12.2016
comment
›CentOS Apache 2.2.3 PHP 5.2.16 - person BVengerov; 14.12.2016

Версия PHP5 не поддерживается в версиях Ubuntu 18.04+, поэтому вам необходимо выполнить настройку вручную из исходных файлов. Если вы используете php-5.3.29,

# cd /usr/local/src/php-5.3.29
# ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=MySQL_LOCATION/mysql --prefix=/usr/local/apache/php --with-config-file-path=/usr/local/apache/php --disable-cgi --with-zlib --with-gettext --with-gdbm --with-curl --enable-zip --with-xml --with-json --enable-shmop
# make
# make install

Перезапустите сервер Apache и проверьте функцию phpinfo в браузере <?php echo phpinfo(); ?>

Примечание. Измените MySQL_Location: --with-mysql=MySQL_LOCATION/mysql

person lakshmikandan    schedule 28.11.2019

Я попытался изменить список репозиториев с помощью:

http://security.ubuntu.com/ubuntu%20bionic-security основная вселенная http://archive.ubuntu.com/ubuntu основная ограниченная вселенная bionic

Но ни один из них, похоже, не работает, но я наконец нашел репозиторий, который работает, выполнив следующую команду

добавить-apt-репозиторий ppa:ondrej/php

А затем обновить и установить пакет с помощью apt-get

Как видите, он наконец установлен.

person Vikas Jangra    schedule 26.08.2020