PHP 7.0 - ZipArchive Library is missing or disabled

February 24, 2016 18.8k views
PHP LEMP Nginx Ubuntu

After setting up a new 512mb web server droplet using:
Ubuntu 14.04 // NGINX // PHP7.0 // MariaDB // Wordpress

I get the following error message using my backup app:

PHP ZipArchive Library is missing or disabled

I never encountered this error before on my other droplets with identical configs so I guess this is a recent change in some package. Strangely plugin via wordpress backend unzip/install works fine.

Does anyone know how to enable this feature with php7.0?

Here are the relevant entries from my php-info file:
PHP Version 7.0.3-8+deb.sury.org~trusty+2

Additional .ini files parsed        /etc/php/7.0/fpm/conf.d/20-zlib.ini
Registered PHP Streams  compress.zlib, phar
Registered Stream Filters       zlib.*

ZLib Support    enabled
Stream Wrapper  compress.zlib://
Stream Filter   zlib.inflate, zlib.deflate
Compiled Version    1.2.8
Linked Version  1.2.8
zlib.output_compression Off Off
zlib.output_compression_level   -1  -1
zlib.output_handler no value    no value

I know it says zlib.output_compression Off Off
but I have the same setting on another droplet and there it works
the only difference on my other droplets is that PHP7 was installed as an upgrade to PHP5 while on my faulty droplet PHP7 was installed not as an update

1 Answer

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-*
Have another answer? Share your knowledge.