Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHPExcel时未启用ZipArchive库_Php_Codeigniter_Phpexcel_Pecl_Ziparchive - Fatal编程技术网

使用PHPExcel时未启用ZipArchive库

使用PHPExcel时未启用ZipArchive库,php,codeigniter,phpexcel,pecl,ziparchive,Php,Codeigniter,Phpexcel,Pecl,Ziparchive,我使用CodeIgniter和PHPExcel读取和写入excel文件 Fatal error: Uncaught exception 'Exception' with message 'ZipArchive library is not enabled' in /var/www/application/libraries/PHPExcel/Reader/Excel2007.php 在localhost中一切都很好,但是当我在中将我的PHP CodeIgniter应用程序上载到服务器时,当我尝

我使用CodeIgniter和PHPExcel读取和写入excel文件

Fatal error: Uncaught exception 'Exception' with message 'ZipArchive library is not enabled' in /var/www/application/libraries/PHPExcel/Reader/Excel2007.php
在localhost中一切都很好,但是当我在中将我的PHP CodeIgniter应用程序上载到服务器时,当我尝试从excel文件中读取数据时,收到了下面的消息

Fatal error: Uncaught exception 'Exception' with message 'ZipArchive library is not enabled' in /var/www/application/libraries/PHPExcel/Reader/Excel2007.php
是PHP Excel的一个应用程序。您需要按照安装说明进行操作,以便在生产服务器上启用它

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


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

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

PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);
但是,如果您想读取任何压缩的电子表格文件格式(例如xlsx、ods),那么您确实需要启用PHP的zip存档扩展

编辑

从1.8.0版开始,PCLZIP选项现在在读取压缩格式和写入压缩格式时可用

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)

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

$sudo apt get安装php7.0-zip

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


$sudo apt cache search php7.0-*

我没有访问php.ini文件的权限,您能告诉我如何使用.htaccess执行此操作吗对不起,我已经有一段时间没有编译不需要加载/卸载扩展名的php了。根据PHP文档,该指令只能通过
PHP.ini
文件修改。您曾经能够通过
dl()
函数加载扩展,但在PHP5.3中对它的支持已被删除。因此,您需要联系您的主机并让他们为您启用。@user1888957您是否与您的主机联系过关于在您的帐户上启用它的事宜?对不起,我可以在哪里键入此内容?欢迎使用Stackoverflow。你在回答一个5年前的问题。我怀疑这是否能回答最初的问题,因为当时php7还没有出来。此外,请用四个空格缩进命令和代码,以便它们以打字机字体显示。