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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章