伙计们,我HTTP error 500
尝试将另一个网站迁移到后遇到了问题Ubuntu 16.04LTs virtual server
。我的其他网站在这些服务器上运行正常,但当我尝试在浏览器中访问时,这个网站出现错误。
我看了看我的内心error.log
,发现了这一点:
编辑:我删除了我的内容error.log
并再次触发错误。以下是输出:
[Wed Dec 06 11:45:40.769721 2017] [:error] [pid 23568] [client 121.97.63.220:63265] PHP Warning: require(/var/www/html/brainsmartsuccess.com/public_html/wp-includes/load.php): failed to open stream: Permission denied in /var/www/html/brainsmartsuccess.com/public_html/wp-settings.php on line 19
[Wed Dec 06 11:45:40.769847 2017] [:error] [pid 23568] [client 121.97.63.220:63265] PHP Warning: require(/var/www/html/brainsmartsuccess.com/public_html/wp-includes/load.php): failed to open stream: Permission denied in /var/www/html/brainsmartsuccess.com/public_html/wp-settings.php on line 19
[Wed Dec 06 11:45:40.769862 2017] [:error] [pid 23568] [client 121.97.63.220:63265] PHP Fatal error: require(): Failed opening required '/var/www/html/brainsmartsuccess.com/public_html/wp-includes/load.php' (include_path='.:/usr/share/php') in /var/www/html/brainsmartsuccess.com/public_html/wp-settings.php on line 19
我已经按照日志中所述设置了特定文件的权限,但无法成功删除 HTTP 错误 500。它需要什么权限,我需要为哪个特定文件设置权限?
示例命令会非常有用 - 我在这里是个新手,谢谢!
答案1
更准确地说:运行 web 服务的进程用户必须对+rx
从目录根目录到的所有文件和目录具有读取和可执行权限。/
/var/www/html/brainsmartsuccess.com/public_html/wp-settings.php
使用 Apache Webserver 时,子进程由非登录用户运行,通常为www
、apache
或nobody
类似用户。
寻找httpd.conf
指令User
。
因此,如果目录和文件属于另一个用户,则需要将该apache
用户放在同一组中(提示:)ls -l
或使文件/目录“其他”可读且可执行(chmod o+rx file/dir
)。
如果 unix 文件权限正确:您是否激活了 selinux?(sestatus)不太可能但可行:您是否激活了文件 acl?(您会在 mount 中看到一个挂载选项“acl”。