今天重启了一下服务器,然后启动php-fpmphp-fpm start时报错了,错误提示是
cannot restore segment prot after reloc: Permission denied
经过排查,找到了根本原因是,服务器上安装了zend,编译好的编译好的ZendOptimizer.so文件加载时报了错误
出错的根本原因是:是selinux的问题,selinux的设置太过严格导致的。
解决的办法是在root用户下,修改/etc/selinux/config 文件把
SELINUX=enforcing 改成 SELINUX=disabled
然后,保存关闭,重启机器就可以了。
另外还有一个暂时关闭的方法,就是
/usr/sbin/setenforce 0
此外呢,另外一个方法,举个例子,你碰到问题的so文件是test.so,那么
chcon -t texrel_shlib_t test.so
就可以了。不过呢,这个命令只能修改一个so,如果想让你的系统以后都不会碰到这个错误,那最好还是采用修改文件的方式。
我是采用的第二种方法解决了报cannot restore segment prot after reloc: Permission denied这个错误的,简单方法,建议还是第一种方法,下次得启也不会报错了
文章来自phplife的电子商务网上商城专栏博客 ,本文地址:http://blog.csdn.net/itopit/article/details/7245406 转载请以链接形式注明出处,谢谢。