PHPExcel ZipArchive не найден
Я только что загрузил пакет PHPExcel, и я попытался импортировать электронную таблицу Excel, но все, что я получаю, это ошибка ZipArchive not found
. Я работаю на Windows, но сервер находится на Linux. Я проверил php.ini
чтобы увидеть, отключен ли php_zip,но его даже не было.
Я попытался установить его с помощью PECL:$ pecl install zip
No releases availble for package "pecl.php.net/zip"
Cannot initialize 'channel://pecl.php.net/zip', invalid or missing package file
Package "channel://pecl.php.net/zip" is not valid
install failed
и pear install zip-1.10.2.tgz
но получил почти то же самое сообщение.
у меня нет разрешения root на сервер, может быть, это так? В любом случае, ты можешь мне помочь?
5 ответов
некоторые форматы файлов электронных таблиц, такие как OfficeOpenXML, используемые по умолчанию Excel 2007 и выше, требуют ZipArchive. В самых последних версиях PHP ZipArchive всегда доступен, но до PHP 5.3 его необходимо было вручную установить как расширение PHP.
как @briosheje говорит, Если у вас нет 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 различные форматы электронных таблиц, и объясняет, какие из них на основе zip.
в моем случае у меня есть PHP 5.4
При использовании PHPExcel я столкнулся с этим исключением.
FatalErrorException in Excel2007.php line 94: Class 'ZipArchive' not found
решил это, добавив эту строку на PHPExcel / Reader / Excel2007.в PHP
PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);
перед вызовом метода getZipClass.
$zipClass = PHPExcel_Settings::getZipClass();
вы должны установить расширение для php под названием Like php-zip и zip-программа на вашем компьютере linux.
Я нашел простое решение
- войдите в свою cpanel
- перейти к программному обеспечению > выбрать версию PHP
- выберите PHP версии 7.0 и нажмите set as current button
- установите флажок zip
- нажмите кнопку Сохранить
теперь вы обновите свой сайт, чтобы загрузить файл excel