您的位置:首页 > 运维架构 > Linux

centos7安装php的zip扩展

2016-11-17 12:42 393 查看
错误提示:

Strict Standards: Only variables should be passed by reference in /**目录

Fatal error: Class 'ZipArchive' not found in /**目录

原因:出现这个错误说明是程序在调用'ZipArchive'
这个类的时候没有成功,原因是由于在安装php的时候没有增加php zip的支持。

解决办法:

1、在Linux下没有php_zip.dll这个文件(有也不会起作用的),所以需要重新编译一下php的zip模块。具体安装方法如下:

cd /root/tar
wget http://pecl.php.net/get/zip-1.13.5.tgz tar -zxvf zip-1.13.5.tgz
cd zip-1.13.5
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
sudo make install


2、安装完成,提示扩展所在目录:/usr/lib64/php/modules/,记录下来

3、修改php.ini,如果找不到配置文件,可以输出phpinfo查看,修改一下两点:

1)zlib.output_compression = Off 改为 zlib.output_compression = On

2)增加extension = /usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/zip.so

4、重启nginx 或者apache,reload不行,一定要重启

/etc/init.d/nginx restart 

如果是apache,使用service httpd restart

遇到的问题:

最初以为扩展装好之后重载php-fpm即可,于是使用了/etc/init.d/php-fpm reload,不知道为什么重载之后,使用stop不管用了,只能kill掉进程,然后重新start,才可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息