Apache Server无法打开PHP页面 仅phpinfo.php可访问权限问题求助
问题排查与解决步骤
- 问题根因大概率出在SELinux安全上下文或FTP服务的上传属性配置上,你看到的
ls -la权限一致仅代表传统Unix权限相同,不包含安全上下文、扩展属性等隐藏权限配置。 - 第一步:排查SELinux上下文
执行命令查看安全上下文:ls -Z /var/www/html
如果FTP上传的文件上下文不是httpd_sys_content_t,执行以下命令批量修复:
临时关闭SELinux验证执行:restorecon -Rv /var/www/htmlsetenforce 0,访问恢复正常即可确认是该问题,restorecon命令可永久修复上下文。 - 第二步:调整FTP服务配置
检查你使用的FTP服务配置(以vsftpd为例,配置路径为/etc/vsftpd.conf),确保local_umask参数值为002,保证上传文件的属组权限和本地创建的文件一致,修改后重启FTP服务:systemctl restart vsftpd - 第三步:排查扩展属性限制
执行命令查看文件扩展属性:getfattr /var/www/html/*
若FTP上传的文件存在额外异常扩展属性,可使用setfattr命令删除对应属性。 - 第四步:验证Apache配置
检查Apache站点配置中open_basedir、文件访问控制等参数,确认没有对PHP文件设置额外的访问限制。
内容的提问来源于stack exchange,提问作者Yanakin
相关产品推荐
相关产品推荐

