У меня проблема с тем, что я устанавливаю «Archive_Zip 0.1.1» на сервере Linux, но когда я пытаюсь запустить скрипт для создания zip-файла, это приводит к фатальной ошибке
Неустранимая ошибка: класс
ZipArchive
не найден в ...
где я положил код
$zip = new ZipArchive;
var_dump($zip);
$res = $zip->open($filename, ZipArchive::OVERWRITE);
if ($res !== TRUE) {
echo 'Error: Unable to create zip file';
exit;
}
if (is_file($src)) {
$zip->addFile($src);
} else {
// echo "<br>" . dirname(__FILE__) . $src;//'/install1';
if (!is_dir($src)) {
$zip->close();
@unlink($filename);
echo 'Error: File not found';
exit;
}
recurse_zip($src, $zip, $path_length);
}
$zip->close();
echo "<br>file name ".$filename;
но он не находит файл класса.
Пожалуйста, скажите мне решение. Что я должен сделать, чтобы решить проблему? Я также положил php.ini
файл в папку, где находится скрипт, но он не работает.
php
zip
ziparchive
Параг Чауре
источник
источник
sudo apt-get install php7.2-zip
E: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'
с помощью Ubuntu 14.04 с PHP 7,2apt-get install php-zip
.Ответы:
Чтобы
ZipArchive
класс присутствовал, PHP должен иметь установленное расширение zip .Смотрите эту страницу для инструкций по установке (как Linux, так и Windows).
источник
sudo apt-get install php7.0-zip
sudo apt-get install php7.0-zip
. Затем отредактируйте файл/etc/php/7.0/cli/php.ini
(в разделе «Динамические расширения» добавьте строкуextension=zip.so
). Это должно решить этоdocker-php-ext-install zip
sudo apt-get install php7.0-zip
того, как вам нужно будет перезапустить сервер Apachesudo systemctl restart apache2
На Amazon ec2 с Ubuntu + nginx + php7 у меня были те же проблемы, я решил их с помощью:
sudo apt-get install php7.0-zip
источник
sudo apt-get install php7.1-zip
для Ubuntu / php7.1php 7.2
и всегда говоритE: Unable to locate package php7.2-zip E: Couldn't find any package by regex 'php7.2-zip'
На рабочем столе Ubuntu я должен был сделать.
Это установило библиотеку, но я продолжал получать ту же ошибку, поэтому мне пришлось перезапустить apache, используя:
и это сработало.
источник
Прежде всего, решение для удаленного сервера:
Если вы используете cpanel, у вас может быть установлено расширение zip, но оно не активировано. Вы должны активировать это. Для этого вам нужно перейти в cpanel> в разделе программного обеспечения> нажать на версию PHP . Затем найдите почтовый индекс и проверьте его. Теперь сохраните.
Вы должны увидеть как изображение.
Обновить страницу. Ошибка должна исчезнуть.
Примечание: если вы не нашли, обратитесь к провайдеру сервера. Они установят для вас.
источник
Я не вижу его здесь, поэтому я хотел бы добавить, что в Debian / Ubuntu вам может потребоваться включить расширение после установки соответствующего пакета. Так:
источник
php7.0-zip
для PHP 7.Если у вас есть доступ к WHM, это проще.
Войдите в WHM .
Перейдите в EasyApache 4 (или любую другую версию) на вкладке « Программное обеспечение ».
В разделе «Установленные пакеты» нажмите «Настроить» .
Перейти к расширениям PHP , в поиске типа " zip " ( без кавычек ),
вы должны увидеть 3 модуля
проверь их всех,
нажмите синюю кнопку несколько раз, чтобы завершить процесс.
Это сработало для меня. К счастью, у меня есть WHM.
источник
Это сработало
и нет необходимости перезапускать
php7.0-fpm
вручную.источник
Вам также нужно скомпилировать PHP с поддержкой zip. В руководстве сказано следующее:
Недостаточно просто установить правильные расширения на сервере. Посмотрите ссылку на инструкцию по установке Pekka, размещенную ранее. Мой ответ - только его разъяснение.
источник
У меня была такая же проблема с установленным сервером CentOS и cPanel . Я установил пакет zipArchive через cPanel и не работал должным образом. После попыток с таким количеством исправлений, предложенных каждый раз, мне помогло только следующее.
Сначала найдите имя для правильного пакета с помощью команды ниже
Затем используйте приведенный ниже код.
В моем случае правильный код для установки zipArchive был
У меня было решение по этой ссылке. Как я могу установить zipArchive на PHP 7.2 с CentOS 7?
И эта установка как-то включила и этот пакет, а также перезапустила работающие сервисы, и после завершения выполнения вышеуказанного кода проблема zipArchive исчезла.
источник
Centos 6
источник
Для PHP 7.x
Для PHP 5.x
А затем перезапустите сервер Apache
источник
PHP 5.2.0 и выше
Linux системы
Чтобы использовать эти функции, вы должны скомпилировать PHP с поддержкой zip с помощью параметра конфигурации --enable-zip.
Windows
Пользователи Windows должны включить php_zip.dll внутри php.ini, чтобы использовать эти функции.
источник
Я столкнулся с этой проблемой на GCP при развертывании WordPress в среде App Engine Standard. Это решило это:
источник
Для Centos 7 и PHP 7.3 на Remi
Поиск расширения zip:
Имя расширения: php73-php-pecl-zip.x86_64 . Чтобы установить его на сервер под управлением одной версии PHP, удалите префикс php73:
Перезапустите PHP:
Проверьте установленные расширения PHP:
источник
Для использования на сервере CentOS
Включите его, запустив:
echo "extension=zip.so" >> /etc/php.d/zip.ini
источник
У меня была та же проблема, и она была решена с помощью двух командных строк:
sudo apt install php-zip
затем перезагрузите ваш веб-сервер для Apache
sudo service apache2 restart
источник
Попробуй написать
\ZIPARCHIVE
вместоZIPARCHIVE
.источник
Вам нужно проверить версию PHP
Если версия php 5.6, вам нужно установить php5.7-zip
а потом
Надеюсь, поможет
источник
1) Вы должны
require
ваш файл сZipArchive
файлом.2) Или используйте
__autoload
метод класса. В PHP 5 это отличный метод __autoload ().http://www.php.net/manual/en/language.oop5.autoload.php
источник