centos7安装php的zip扩展

错误提示:

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,才可以。


你可能感兴趣的:(linux运维)