错误提示:
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,才可以。