问题
I am using CodeIgniter and PHPExcel to read and write to excel files.
Everything worked fine in localhost, but when I uploaded my PHP CodeIgniter application to the server in pagodabox I got the below message when I tried to read data from excel files.
Fatal error: Uncaught exception 'Exception' with message 'ZipArchive library is not enabled' in /var/www/application/libraries/PHPExcel/Reader/Excel2007.php
回答1:
For writing, PHPExcel does provide PCLZip as an alternative to ZipArchive. You can configure it to use this by calling
PHPExcel_Settings::setZipClass(PHPExcel_Settings::PCLZIP);
But if you want to read any of the zipped spreadsheet file formats (e.g. xlsx, ods) then you do need PHP's zip archive extension enabled
EDIT
With effect from version 1.8.0, the PCLZIP option is now available when reading zipped formats as well as for writing them
回答2:
ZipArchive is a requirement for PHP Excel. You need to follow the install instructions for it to enable it on your production server.
It is already enabled on your development server, reason why it works there. Contact your host to see if it is already compiled, and if so how to enable it for your account.
Uncommenting the PECL extension from php.ini
would enable it. Contact your host to have it enabled if you do not have access to the file.
回答3:
Requirements
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)
回答4:
When upgrading to PHP 7, you should make sure to install the PHP 7 versions of you libraries as well. The PPA providing PHP 7 also provides a php7.0-zip package. You can install it with:
$ sudo apt-get install php7.0-zip
To see additional PHP 7 libraries that are available, run:
$ sudo apt-cache search php7.0-*
来源:https://stackoverflow.com/questions/16043453/ziparchive-library-is-not-enabled-when-using-phpexcel