①----------

apache2关于libphp5.so的permission denied的解决方法

和php-5.2.5,一切顺利。

最后一步重新启动apache报如下错误:

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 denied

原因:是Linux有一个SELinux保护模式引起的。

解决办法:

1关闭SELINUX的方法:

vi /etc/selinux/config 将SELINUX=enforcing 改成SELINUX=disabled 需要重启

这个方法可能会对服务器带来风险。

2不关闭SELINUX的方法:

# setenforce 0

# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so

# service httpd restart

# setenforce 1

②------------

手工编译安装php后,如果一切顺利解决了的话,重启apache时,libphp5.so: cannot restore segment prot after reloc: Permission denied 错误:如果你是开着seliunx 的话,运行下面的命令: chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so <具体chcon 的命令的意思,可以自己man一下,它是selinux有关的命令,更改文件的标签。ls命令在命令后加个 -Z 或者加 –context 查看标签> 如果 没有开selinux 的话,找到libphp5.so,然后chmod 777 libphp5.so 源自:http://www.phpfreaks.com/forums/index.php?topic=133131.0;wap2

Cannot load /www/modules/libphp5.so into server error

(1/1)

bigb89 : Hi, I am trying to install PHP and configure it to work with Apache. So far I have Apache 2 and MySQL 5 working just fine, but after intalling PHP I tried to restart Apache and I get the following error: Cannot load /www/modules/libphp5.so into server: /www/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied. What's causing this error is the following line on my httpd.conf file: LoadModule php5_module        modules/libphp5.so. Could anyone explain to me what's causing this error and how can I fix it? Thanks in advance!

rlee923 : Hi, I assume you are using one of those linux with Selinux enabled. The problem is caused by the security system - selinux, blocking it's access to libph5.so. chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so This is the magic line of the code, change the path so it points to the directory where you've installed apache2 if necessary.