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)