2014
Jan
17

今天在重新 compile php ,然后 restart apache 却失败了,错误讯息如下:

httpd: Syntax error on line 30 of httpd.conf: Cannot load /usr/local/lib/libphp5.so into server: libphp5.so: cannot restore segment prot after reloc: Permission denied

解法方法是输入指令: sudo /usr/sbin/setenforce 0

这个错误的原因是 ,我的 OS 是选择 CentOS 5.8 ,而他预设会将 SE Linux 功能打开, SE Linux 全名是 secure Linux ,是一个 强化 Linux 安全性的软体,这个功能拒绝了某个 PHP 必需写入的行为。


但是当你重启电脑后, SE Linux 又会再度自动启用,所以我们必须再更改一个 SE Linux 设定档 /etc/selinux/config

修改 SELINUX=enforcing 这行,改成 SELINUX=disabled,这样就可以永久停用 SE Linux 了。


回應 (Leave a comment)