php Class 'ZipArchive' not found解决办法(php安装zip扩展)

出现这个错误一般情况下是没有zip扩展造成的,这里可以用phpinfo或者php -m 命令查看是否安装启用该扩展。正常已安装phpinfo会有zip扩展的信息

php zip扩展信息

window解决方案

在php.ini文件中,将extension=php_zip.dll前面的分号“;”去除;然后需要把zlib.output_compression = Off 改为 zlib.output_compression = On ;

如果没有php_zip.dll需要下载对应版本的dll  

下载地址 http://pecl.php.net/package/zip

Linux解决方案

1.下载编译

wget http://pecl.php.net/get/zip

tar -zxvf zip

然后 cd到刚才解压的目录中

phpize

./configure

make && make install

安装完之后,屏幕上会提示zip.so的位置;把这个地址记下来,我这里是:/usr/local/php7.2/lib/php/extensions/no-debug-non-zts-20170718/zip.so

如果中途出现报错,可以参考下面解决,没报错的话直接到第二步就好啦


报错system libzip must be upgraded to version >= 0.11 是因为系统自带的libzip版本低了,需要安装最新的libzip

   yum -y remove libzip-devel

    wget https://libzip.org/download/libzip-1.3.2.tar.gz

    tar xvf libzip-1.3.2.tar.gz

    cd libzip-1.3.2

    ./configure

    make && make install

安装完成后需要cd到刚才zip的解压目录继续 phpize 以及之后的命令

报错configure: error: Cannot find php-config. Please use --with-php-config=PATH

一般出现这个错误说明你执行 ./configure 时  --with-php-config 这个参数配置路径错误导致的

需要把 ./configure 命令修改为,注意这里的config路径是你的php-config的路径

 ./configure --with-php-config=/usr/local/php7.2/etc/php-config

ps:这里可以用whereis php 来查看php的安装位置

2.修改php.ini

增加extension = /usr/local/php7.2/lib/php/extensions/no-debug-non-zts-20170718/zip.so #这儿的地址就是刚才记下来的地址

并且将 zlib.output_compression = Off 改为 zlib.output_compression = On ;

ps:这里可以用whereis php 来查看php的安装位置,php.ini一般位于安装目录的etc目录下

3.重启服务

重启服务后再用phpinfo查看zip扩展信息

你可能感兴趣的:(php Class 'ZipArchive' not found解决办法(php安装zip扩展))