分类: PHP
2011-11-09 17:07:09
①----------
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 源自:
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.
本文来自CSDN博客,转载自:http://blog.csdn.net/zenwong/archive/2009/07/28/4386058.aspx