安裝httpd-2.2.8 和php-5.2.5,一切順利。php
最後一步從新啓動apache報以下錯誤:linux
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission deniedapache
緣由:是Linux有一個SELinux保護模式引發的。服務器
解決辦法:app
1關閉SELINUX的方法:spa
vi /etc/selinux/config 將SELINUX=enforcing 改爲SELINUX=disabled 須要重啓rest
這個方法可能會對服務器帶來風險。server
2不關閉SELINUX的方法:(試過能夠)xml
# setenforce 0ci
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
我用的命令是chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so
# service httpd restart
# setenforce 1
有 不少apache的Permission denied問題都是SELINUX引發的,
若是在Redhat Enterprise Linux 4.0或Fedora Core 2 Linux以上版本的Linux中,
關閉SELINUX試試
# vi /etc/selinux/config
看看SELINUX選項是否爲disabled,若不是
改爲SELINUX=disabled