Moh*_*han 9 php http-status-code-500
我知道看到此页面时出现500个内部服务器错误,
本地主机页面不起作用本地主机当前无法处理此请求。HTTP错误500
我已经设置了变量,display_errors: On
并且error_reporting : E_ALL
在我的php.ini
配置文件,重新启动服务器。
我仍然看到同一页面,而不是导致内部服务器错误的实际错误消息。为什么?
所以,最终我做了所有开发人员都讨厌做的事情。我检查了服务器日志文件,发现第 n 行存在语法错误的报告。
tail -n 20 /var/log/apache2/error.log
Run Code Online (Sandbox Code Playgroud)
它可能解决了您的问题,请检查您的文件访问级别
$ sudo chmod -R 777 /"your files location"
Run Code Online (Sandbox Code Playgroud)
我正在使用 CakePHP,并且看到以下错误:
\nThis page isn\xe2\x80\x99t working\nlocalhost is currently unable to handle this request.\nHTTP ERROR 500\n
Run Code Online (Sandbox Code Playgroud)\n我去看了 app\\config\\core.php 中定义的 CakePHP 调试级别:
\n/**\n * CakePHP Debug Level:\n *\n * Production Mode:\n * 0: No error messages, errors, or warnings shown. Flash messages redirect.\n *\n * Development Mode:\n * 1: Errors and warnings shown, model caches refreshed, flash messages halted.\n * 2: As in 1, but also with full debug messages and SQL output.\n * 3: As in 2, but also with full controller dump.\n *\n * In production mode, flash messages redirect after a time interval.\n * In development mode, you need to click the flash message to continue.\n */\nConfigure::write('debug', 0);\n
Run Code Online (Sandbox Code Playgroud)\n我必须将值从 0 更改为 1:
\nConfigure::write('debug', 1);\n
Run Code Online (Sandbox Code Playgroud)\n进行此更改后,当尝试再次重新加载页面时,我看到了相应的错误:
\nFatal error: Uncaught Exception: Facebook needs the CURL PHP extension.\n
Run Code Online (Sandbox Code Playgroud)\n结论:在我的案例中,查看错误的解决方案是将 CakePHP 调试级别从 0 更改为 1,以显示错误和警告。
\n这是一个 2 年前的问题的答案,以防它可以帮助其他有同样问题的人。
根据您提供的信息,文件(或多个文件)的权限问题将是导致 500 内部服务器错误的原因之一。
要检查这是否是问题(如果您无法获得有关错误的更多详细信息),请导航到终端中的目录并运行以下命令:
ls -la
Run Code Online (Sandbox Code Playgroud)
如果您看到有限的权限 - 例如-rw-------@
针对您的文件,那么这就是您的问题。
解决方案是chmod 644
在问题文件或chmod 755
目录上运行。请参阅此答案 -如何为文件夹及其所有子文件夹和文件设置 chmod?- 有关如何更改权限的详细说明。
作为背景,我遇到了与您在通过 Google Drive 从另一台 Mac 复制的某些文件上遇到的完全相同的问题,这些文件的传输剥夺了文件的大部分权限。
下面的截图说明了。具有-rw-------@
权限的 index.php 文件会生成500 Internal Server Error,而具有-rw-r--r--@
权限的 index_finstuff.php(完全相同的内容!)则很好。更改 index.php 的权限可立即解决问题。
换句话说,您的 PHP 代码和服务器可能都没有问题。但是,文件的有限读取权限可能会禁止服务器显示内容,从而导致显示 500 Internal Server Error 消息。
小智 0
首先检查您的网络服务器指示的路径中的错误日志。那么浏览器可能会显示友好的错误消息,因此禁用它。
https://superuser.com/questions/202244/show-http-error-details-in-google-chrome