2014-10-30 1 views
2

Когда я использую PHPExcel на новом сервере, Я столкнулся с ошибкой «Класс» ZipArchive «не найден» и, похоже, заблокирован моим провайдером хостинга.Класс 'ZipArchive' не найден ошибка при использовании PHPExcel

Могу ли я использовать PHPExcel на сервере без поддержки Zip? PHP 5.2.8 установлен на этом сервере, но я не могу использовать базовый PHP-код для PHPExcel.

Любая помощь будет оценена, спасибо.

+0

['ZipArchive'] (http://php.net/manual/class.ziparchive.php) должен присутствовать в системе 5.2.8. Во всяком случае, 5.2 [больше не поддерживается] (http://php.net/eol.php). Вы должны перейти на лучший хост. – Phil

+0

Если вы используете только PHP 5.2.8, то я настоятельно рекомендую вам удалять вашего хостинг-провайдера с помощью загрузок hobnail, пока они не обновят ваш PHP до версии, которая все еще находится под активной поддержкой. –

+0

Возможно дубликат [PHPExcel ZipArchive не найден] (https://stackoverflow.com/questions/25176999/phpexcel-ziparchive-not-found) – algorhythm

ответ

8

Некоторые форматы файлов электронной таблицы, такие как OfficeOpenXML, используемые в качестве формата по умолчанию в Excel 2007 и выше, требуют ZipArchive. В самых последних версиях PHP ZipArchive всегда доступен, но до PHP 5.3 он должен был быть установлен вручную на некоторых системах в качестве расширения PHP.

Если вам не ZipArchive установлена ​​/ включена для PHP, и не может позволить себе это, то вы можете использовать

PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP); 

PclZip входит в дистрибутив PHPExcel в качестве альтернативы PHP встроенный - в классе ZipArchive, хотя он довольно медленный. Включение PCLZip позволяет работать с форматами таблиц на основе zip даже без ZipArchive.

Однако, когда мы впервые связали PCLZip (первоначально в PHPExcel 1.7.6), это был только вариант при написании ZIP-форматов, а не при их чтении. Мы изменили это в PHPExcel 1.8.0, поэтому включение PCLZip теперь позволяет читать форматы на основе zip, а также записывать их.

В документации на PHPEXcel Reader подробно описаны различные форматы электронных таблиц и объясняется, какие из них основаны на zip-основе. PHPEXcel Reader documentation

+0

Действительно? Doco говорит, что это в PHP 5> = 5.2.0 – Phil

+1

Независимо от того, что говорят документы, наверняка проблемы с его доступностью на платформах Windows в более ранних версиях, чем 5.3.0, и я считаю, что он должен быть настроен для сборки Linux также .... Мне приходилось иметь дело с большим количеством людей, у которых проблемы с ZipArchive не были доступны, поэтому я должен был представить альтернативу PCLZip. –

+0

Спасибо за ваш ответ. Это помогло мне понять, что случилось. Можем ли мы иметь пример использования PHPExcel_Settings :: setZipClass (PHPExcel_Settings :: PCLZIP); ? –