5

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
kittycat
  • 14,983
  • 9
  • 55
  • 80
adib.mosharrof
  • 1,624
  • 1
  • 12
  • 16

4 Answers4

6

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

Mark Baker
  • 209,507
  • 32
  • 346
  • 385
4

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.

kittycat
  • 14,983
  • 9
  • 55
  • 80
  • i dont have access to php.ini file, could you please tell me how to do it using .htaccess – adib.mosharrof Apr 18 '13 at 10:31
  • Sorry, it's been awhile since I've not compiled PHP which doesn't require loading/unloading extensions. According to the PHP documentation the [extension](http://www.php.net/manual/en/ini.core.php#ini.sect.path-directory) directive can only be modified via the `php.ini` file. You were once able to load extensions via the `dl()` function but support for it has been removed in PHP 5.3. So you need to contact your host and have them enable it for you. – kittycat Apr 18 '13 at 13:14
  • @user1888957 Did you get in touch with your host regarding enabling it on your account? – kittycat Apr 22 '13 at 04:18
1

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)
laalto
  • 150,114
  • 66
  • 286
  • 303
Linda
  • 11
  • 1
0

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-*

Meet
  • 1
  • 1
    Welcome to Stackoverflow. You are answering a 5 year old question. I doubt, that this will answer the original question, because php7 was not out at that time. Also, please indent commands and code with four spaces, so they will be shown with a typewriter font. – hellow Aug 29 '18 at 09:02