我在 centos 5.6 上运行 apache,每当我尝试在 /var/www/html(apache 默认根目录)之外的任何目录中加载 php 脚本时,它都会出现权限被拒绝错误。
但是,当我检查新根目录 (/var/www-dev) 与默认目录 (/var/www/html) 的权限时,它们完全匹配。两者都说:root:root 755
我甚至尝试将所有权更改为 apache:apache,但仍然出现相同的错误
但是当我将 apache 配置改回其默认根目录 (/var/www/html) 时,一切正常。
难道我做错了什么?
这些是我正在更改的设置:
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
注意:每次我更改 apache 配置和权限时,我都会重新启动 apache。
还有:我还启用了 REMI 和 EPEL
答案1
通常这是由于 Selinux 没有授予对该文件夹的访问权限造成的。
ls -alZ /var/www/
如果 html 文件夹没有上下文 system_u:object_r:httpd_sys_content_t,请使用 chcon 进行修复
chcon -v -R --type=httpd_sys_content_t /var/www/html