使用PHPExcel时未启用ZipArchive库

时间:2013-04-16 17:35:03

标签: php codeigniter phpexcel pecl ziparchive

我正在使用CodeIgniter和PHPExcel来读取和写入excel文件。

在localhost中一切正常,但当我在pagodabox中将我的PHP CodeIgniter应用程序上传到服务器时,当我尝试从excel文件中读取数据时,我收到以下消息。

Fatal error: Uncaught exception 'Exception' with message 'ZipArchive library is not enabled' in /var/www/application/libraries/PHPExcel/Reader/Excel2007.php

4 个答案:

答案 0 :(得分:6)

对于写作,PHPExcel确实提供了PCLZip作为ZipArchive的替代方案。您可以通过调用

将其配置为使用它
PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);

但是如果你想阅读任何压缩的电子表格文件格式(例如xlsx,ods),那么你确实需要启用PHP的zip存档扩展

修改

从版本1.8.0开始,PCLZIP选项现在可用于读取压缩格式以及编写它们时

答案 1 :(得分:4)

ZipArchive是PHP Excel的requirement。您需要按照安装instructions进行操作才能在生产服务器上启用它。

它已在您的开发服务器上启用,因为它在那里工作。请与您的主机联系,看看它是否已经过编译,如果是,请如何为您的帐户启用它。

php.ini取消注释PECL扩展会启用它。如果您无权访问该文件,请与您的主机联系以启用它。

答案 2 :(得分:1)

要求

PHP version 5.2.0 or higher
PHP extension php_zip enabled *)
PHP extension php_xml enabled
PHP extension php_gd2 enabled (if not compiled in)

答案 3 :(得分:0)

升级到PHP 7时,还应确保还安装了库的PHP 7版本。提供PHP 7的PPA还提供php7.0-zip软件包。您可以通过以下方式安装它:

$ sudo apt-get install php7.0-zip

要查看可用的其他PHP 7库,请运行:

$ sudo apt-cache搜索php7.0-*