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。