Intereting Posts
Вход Android с сеансом Token: как пользовательские логины и остается в сеансе до выхода из системы Регулярное выражение PHP для соответствия буквенно-числовым строкам с некоторыми (но не все) пунктуациями Как очистить URL-адреса Папки и файлы не отображаются в PHP Explorer в Eclipse IDE Примеры SQL-инъекций с помощью addlashes ()? Может ли простая модель просто расширить Zend_Db_Row (по существу, Active Record)? Как вывести простую таблицу ascii в PHP? Содержимое верхнего уровня regex из строки Комбинированные объекты на основе выбранного элемента в другом поле со списком Справка PHP-алгоритма PHP MYSQL Facebook Открыть график Смотреть действие Как исправить память, израсходованную с помощью PHPExcel? 500 – Произошла ошибка! Функция DB сообщает об ошибках при добавлении новой статьи в Joomla! Запись видео с веб-камеры с помощью jquery / flash непосредственно в браузере? Конфликт с jQuery и JPagination, JPagination не работает

Неустранимая ошибка: класс «ZipArchive» не найден в

У меня проблема с установкой «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 в папку, где есть скрипт, но он не работает.

Для того ZipArchive класс ZipArchive присутствовал, PHP должен иметь установленное расширение zip .

См. Эту страницу для инструкций по установке (как для Linux, так и для Windows).

На Amazon ec2 с Ubuntu + nginx + php7 у меня были те же проблемы, которые были решены с помощью:

sudo apt-get install php7.0-zip

На рабочем столе ubuntu я должен был это сделать.

 sudo apt-get install php5.6-zip 

Это установило библиотеку, но я все равно продолжал получать ту же ошибку, поэтому мне пришлось перезапустить apache, используя:

 sudo service apache2 restart 

и это сработало.

Я не вижу его здесь, поэтому я хотел бы добавить, что на Debian / Ubuntu вам может потребоваться включить расширение после установки относительного пакета. Так:

 sudo apt-get install php-zip sudo phpenmod zip sudo service apache2 restart 

Вам также необходимо скомпилировать PHP с поддержкой zip. В руководстве говорится следующее:

Чтобы использовать эти функции, вы должны скомпилировать PHP с поддержкой zip, используя опцию –enable-zip configure.

Недостаточно просто установить правильные расширения на сервере. Взгляните на ссылку по установке Pekka, опубликованную ранее. Мой ответ – просто разъяснение его.

PHP 5.2.0 и более поздние версии

Системы Linux

Чтобы использовать эти функции, вы должны скомпилировать PHP с поддержкой zip, используя опцию –enable-zip configure.

Windows

Пользователям Windows необходимо включить php_zip.dll внутри php.ini, чтобы использовать эти функции.

Это сработало

 apt-get install php7.0-zip 

и не нужно перезапускать php7.0-fpm вручную.

 Unpacking php7.0-zip (7.0.16-4+deb.sury.org~trusty+1) ... Processing triggers for php7.0-fpm (7.0.11-1+deb.sury.org~trusty+1) ... php7.0-fpm stop/waiting php7.0-fpm start/running, process 1572 php7.0-fpm stop/waiting php7.0-fpm start/running, process 1777 Setting up php7.0-zip (7.0.16-4+deb.sury.org~trusty+1) ... locale: Cannot set LC_ALL to default locale: No such file or directory Creating config file /etc/php/7.0/mods-available/zip.ini with new version Processing triggers for php7.0-fpm (7.0.11-1+deb.sury.org~trusty+1) ... php7.0-fpm stop/waiting php7.0-fpm start/running, process 2354 php7.0-fpm stop/waiting php7.0-fpm start/running, process 2397 

Прежде всего, решение для удаленного сервера:

Если вы используете cpanel, у вас может быть расширение zip, но не активировано. Вам нужно активировать его. Для этого случая вам нужно перейти в cpanel> внутри раздела программного обеспечения> нажмите на PHP-версию . Затем найдите zip и проверьте его. Теперь сохраните.

Вы должны видеть, как изображение. введите описание изображения здесь

Обновить страницу. Ошибка должна исчезнуть.

Примечание. Если вы не нашли, обратитесь к поставщику услуг. Они установят для вас.

1) Вам должен require файл с файлом ZipArchive .

 require 'path/to/file/ZipArchive.php'; 

2) Или используйте метод __autoload класса. В PHP 5 это приветливый метод __autoload ().

 function __autoload($class_name) { require_once $class_name . '.php'; } $obj = new MyClass1(); // creating an object without require. 

http://www.php.net/manual/en/language.oop5.autoload.php