centos服務器的LNMP環境剛配置好,在啓動時候竟然遇到nginx 無法加載zend的問題,隨後便在網上找了下原因
具體情況如下:
[root@zzidc ~]# php -v
Failed loading /usr/local/zend/ZendOptimizer.so: /usr/local/zend/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied
PHP 5.2.17 (cli) (built: Jul 26 2011 22:25:35)
Copyright (c) 1997-2010 The PHP Group
執行 php -v 報錯如上
[root@zzidc ~]# /usr/local/php/sbin/php-fpm restart
Shutting down php_fpm . done
Starting php_fpm Failed loading /usr/local/zend/ZendOptimizer.so: /usr/local/zend/ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied
done
重啓php fpm 報錯
最後用的是這個命令
chcon -t textrel_shlib_t /usr/local/zend/ZendOptimizer.so
解決的。
至於網上說的
原來這是SELinux搞的鬼,解決辦法:
關閉SELINX,執行:/usr/sbin/setenforce 0
禁止掉SELinux
更改/etc/sysconfig/selinux 文件的內容爲 SELINUX=disabled
這個方法也對。主要是關閉SELINX。