ZipArchive Library Is Not Enabled When Using PHPExcel
Solution 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
Solution 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.
Solution 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)
adib.mosharrof
Updated on June 05, 2022Comments
-
adib.mosharrof almost 2 years
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
-
adib.mosharrof about 11 yearsi dont have access to php.ini file, could you please tell me how to do it using .htaccess
-
cryptic ツ about 11 yearsSorry, it's been awhile since I've not compiled PHP which doesn't require loading/unloading extensions. According to the PHP documentation the extension directive can only be modified via the
php.ini
file. You were once able to load extensions via thedl()
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. -
cryptic ツ about 11 years@user1888957 Did you get in touch with your host regarding enabling it on your account?
-
enchance over 8 yearsSorry, where can I type this?
-
hellow over 5 yearsWelcome 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.