安装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