Не установлен php модуль zip
Установите расширение zip для PHP 7.4
Fatal error: Class ‘ZipArchive’ not found
Я попытался использовать pecl для установки расширения, и оно возвращает следующую ошибку:
checking libzip. yes checking PHP version. 7.4 checking for pkg-config. /bin/pkg-config checking for libzip. not found configure: error: Please reinstall the libzip distribution
Если я переустановлю PHP с нуля, снова выполнив команду configure, установит ли он расширение? Повлияет ли это на мои существующие настройки? Я установил и включил SVN расширение
2 ответа
Для расширения zip требуется библиотека libzip. Таким образом, вы можете скомпилировать его из источника. Однако для библиотеки libzip требуется библиотека zlib. Чтобы убедиться, что вы не пропустите ничего важного, лучше всего, если я покажу вам, как я это делаю.
Вот как я собираю 7.4 из исходного кода на наших серверах Centos 7
Сначала я устанавливаю обновление пакета и устанавливаю отсутствующие пакеты:
Установка CMake:
Скомпилируйте zlib.
Скомпилируйте libzip для расширения zip:
Скопируйте встроенный файл и добавьте его в переменные
Компиляция php:
Если php уже установлен через установщик пакета, удалите его.
Другая строка, на которую вы должны обратить внимание:
Во время настройки используйте пакет по своему усмотрению.
Php работает в основном отсюда: /usr/bin/php
И ваш встроенный php будет находиться здесь: /usr/local/php7/bin/php
Поэтому вам может понадобиться перезаписать его:
Sudo mv / usr / local / php7 / bin / php / usr / bin / php
Это еще не все, но охватывает все важные части с расширением zip.
Установка расширения PHP Zip
Я пытаюсь установить расширение PHP Zip.
мой сервер не имеет внешнего доступа в интернет, поэтому я загрузил его сам из PECL:http://pecl.php.net/package/zip. Я выбрал 1.10.2, последний «стабильный» релиз, и перенес его на свой сервер.
на php.Ини, как указано. Я вижу эту молнию.таким образом, был создан и помещен в правую папку extension_dir. Я перезапустил apache, а затем проверил, был ли он загружен путем запуска:
несмотря на все это, «zip» все еще не находится в этом списке.
Я что-то пропустил или делаю что-то неправильно? Я думал, что это должно быть очень просто, и я начинаю чувствовать себя довольно глупо, ха-ха.
другие, вероятно, важные вещи:
в CentOS Apache 2.2.3 В PHP 5.2.16
5 ответов
вот как я установил его на своей машине (ubuntu):
Edit:
убедитесь, что после перезагрузки сервера.
sudo /etc/init.d/apache2 restart или sudo service nginx restart
PS: Если вы используете centOS, пожалуйста, проверьте выше cweiske ‘ s ответ
Но если вы используете производную от Debian ОС, это решение должно помочь вам установить PHP zip расширение.
1 шаг установите необходимое расширение
2 Шаг установите расширение PHP
3 Шаг перезапустите Apache
Если не работает, вы можете проверить, если молния.ini вызывается в вашем phpinfo, чтобы проверить, если zip.так было включено.
Если вы используете php5.6 затем выполните следующее:
sudo apt-get install php5.6-zip
Если sudo apt-get install php5.6-zip не работает, sudo apt-get update а затем попробуйте sudo apt-get install php5.6-zip
PHP modules have been installed, but they are still listed as missing? [Решено]
После очередной перезагрузки (включения компа), заходя в nextcloud через вэбморду, вижу:
PHP module zip not installed.
Please ask your server administrator to install the module.
PHP modules have been installed, but they are still listed as missing?
Please ask your server administrator to restart the web server.
Модуль php5.6-zip установлен.
Не помогает даже полная переустановка пакета, что в основном и советуют на разных форумах.
Что надо сделать чтоб он увидел таки этот модуль (который буквально вчера еще видел и работал)?
nextcloud или php, кто там из них не видит модуль php-zip.
Еще вот что говорит:
ubuntu16.04.1+deb.sury.org+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
Знать бы еще как)
Судя по выхлопу чуть выше, делаю предположение что именно php и не видит свой модуль.
Но /usr/lib/php/20131226/zip.so лежит на месте.
# ldd /usr/lib/php/20151012/zip.so
linux-vdso.so.1 => (0x00007ffcb316c000)
libzip.so.4 => not found
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3be4d42000)
/lib64/ld-linux-x86-64.so.2 (0x000056471f2a9000)
Опаньки, libzip нет. Но как же так, ведь apt должен был установить зависимости. Ищем пакет, в котором должен быть libzip.so.4:
[email protected]:
$ apt-file search libzip.so.4
libzip4: /usr/lib/x86_64-linux-gnu/libzip.so.4
libzip4: /usr/lib/x86_64-linux-gnu/libzip.so.4.0.0
Но вот какая досада, libzip4 же установлен! Смотрим файлы:
[email protected]:
Большое спасибо!
Все так и ессть, правда у меня подключен сторонний реп с php и я уж было начал на него грешить. Снес его вчера, а не тут то было.
Надеюсь дядька Риддел поправит в будущем. А пока слинковал и все заработало.
Еще раз спасибо!
Установка Расширения PHP Zip
Я пытаюсь установить расширение PHP Zip.
до php.ini, как указано. Я вижу, что zip.so также был создан и помещен в нужную папку extension_dir. Я перезапустил apache, а затем проверил, был ли он загружен, запустив:
Несмотря на все это, «zip» все еще нет в этом списке.
Я что-то пропустил или делаю что-то не так? Я думал, что это должно быть очень просто, и я начинаю чувствовать себя довольно глупо, ха-ха.
Другие, вероятно, важные вещи:
CentOS Apache 2.2.3 PHP 5.2.16
11 ответов
Я пытаюсь установить laravel через composer ( установка http://laravel.com/docs/quick# ), и я застрял в точке, где требуется расширение Mcrypt Mcrypt PHP extension required. Я установил расширение Mcrypt с помощью brew. Но все равно он выдает ту же ошибку требования. Я также попытался изменить.
Вот как я установил его на свою машину (ubuntu):
Редактировать:
После этого обязательно перезагрузите сервер.
sudo /etc/init.d/apache2 restart или sudo service nginx restart
PS: Если вы используете centOS, пожалуйста, проверьте выше ответ cweiske
Но если вы используете Debian производный OS, это решение должно помочь вам установить расширение php zip.
Просто используйте sudo yum install php-zip
Если не работает, вы можете проверить, вызывается ли zip.ini в вашем phpinfo, чтобы проверить, был ли включен zip.so.
для PHP 7.3 / Ubuntu
Для php 7.3 на ubuntu 16.04
sudo apt-get install php7.3-zip
Лучший способ установить расширение Zip в php7.2 на CentOS будет следующим:
Найдите доступное расширение, выполнив поиск с помощью команды yum
Затем, если ваша версия php равна 7.2, выполните команду
ням установить ea-php72-php-zip
Это определенно решит вашу проблему.
При использовании composer install с отсутствующей командой zip CLI я получаю следующее предупреждение: Поскольку команда ‘unzip’ не установлена, файлы zip распаковываются с использованием расширения PHP zip. Это может привести к неверным сообщениям о поврежденных архивах. Установка ‘unzip’ может.
Если вы используете php5.6, выполните это:
sudo apt-get install php5.6-zip
Перезагрузите сервер Apache и проверьте функцию phpinfo в браузере
Я попытался изменить список репозиториев с помощью:
Но ни один из них, похоже, не работает, но я наконец нашел репозиторий, который работает, выполнив следующую команду
А затем обновить и установить нормально пакет с помощью apt-get
Как вы можете видеть, он наконец установлен.
Похожие вопросы:
Мне просто любопытен процесс установки расширения, потому что я пытаюсь установить расширение uploadprogress php на Ubuntu. У меня есть установка по умолчанию php в моем каталоге usr/, но у меня.
Я пытаюсь установить laravel через composer ( установка http://laravel.com/docs/quick# ), и я застрял в точке, где требуется расширение Mcrypt Mcrypt PHP extension required. Я установил расширение.
При использовании composer install с отсутствующей командой zip CLI я получаю следующее предупреждение: Поскольку команда ‘unzip’ не установлена, файлы zip распаковываются с использованием.
Так что, очевидно, кто-то забыл о расширении php-zip на AWS. В репо amazon-linux-extras php7.4 нет расширения php-zip, доступного для Amazon Linux 2. Кто-нибудь знает, как установить расширение.
Не установлен php модуль zip
State of SEO 2021: факторы ранжирования, тренды и планы на ближайший год
Бесплатный Telegram-бот для тестирования знаний по SEO
Ставьте через PECL.
Если PHP уже скомпилирован с ZIP, то возможно нужно просто включить модуль, например zip.so прописав в php.ini строку
Еще можно использовать PCLZip
Установил через pecl, но проблему почему-то не решило, хотя в php.ini прописал extension=zip.so, ошибка осталась, в чем может быть причина?
Так же, вы стандартный модуль пытаетесь использовать или откуда:
LEOnidUKG:
nginx перезагружали?
Так же, вы стандартный модуль пытаетесь использовать или откуда:
Обращение к классу в коде попробовать организовать как «\ZipArchive», а не «ZipArchive». Если участок кода находится в неймспейсе, отличном от глобального, стоит указывать напрямую к кому принадлежит вызываемый класс.
И перезапускать нужно не nginx, а демона PHP.