我正在使用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
答案 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-*