localhost 页面不工作 localhost 当前无法处理此请求。 HTTP 错误 500

Posted

技术标签:

【中文标题】localhost 页面不工作 localhost 当前无法处理此请求。 HTTP 错误 500【英文标题】:The localhost page isn’t working localhost is currently unable to handle this request. HTTP ERROR 500 【发布时间】:2017-03-06 03:11:29 【问题描述】:

当我看到这个页面时,我知道有一些 500 Internal Server Error

本地主机页面不工作本地主机当前无法处理此请求。 HTTP 错误 500

我已经在我的php.ini 配置文件中设置了变量display_errors: Onerror_reporting : E_ALL 并重新启动了服务器。

我仍然看到相同的页面,而不是导致内部服务器错误的实际错误消息。为什么?

【问题讨论】:

500 是严重错误!日志中通常没有任何使用的详细信息。您将不得不查看您对脚本所做的操作是否会导致灾难性错误 因为是服务器错误而不是 PHP 错误。 问题出在 PHP 代码上,因为同一网站的其他页面加载正常。我只在一个 URL 上看到此错误,并且我知道 php 代码存在一些问题。我想知道的是为什么它不显示致命错误消息 你使用任何框架吗? 向我们展示您页面上的代码,然后我们可以帮助您。否则我们只是在黑暗中拍摄。 【参考方案1】:

首先检查您的网络服务器指示的路径中的错误日志。 那么可能浏览器显示友好的错误消息,所以禁用它。

https://superuser.com/questions/202244/show-http-error-details-in-google-chrome

【讨论】:

【参考方案2】:

它也许能解决你的问题,检查你的文件访问级别

$ sudo chmod -R 777 /"your files location"

【讨论】:

【参考方案3】:

我使用的是 CakePHP,我看到了这个错误:

This page isn’t working
localhost is currently unable to handle this request.
HTTP ERROR 500

我去看了在 app\config\core.php 中定义的 CakePHP Debug Level:

/**
 * CakePHP Debug Level:
 *
 * Production Mode:
 *  0: No error messages, errors, or warnings shown. Flash messages redirect.
 *
 * Development Mode:
 *  1: Errors and warnings shown, model caches refreshed, flash messages halted.
 *  2: As in 1, but also with full debug messages and SQL output.
 *  3: As in 2, but also with full controller dump.
 *
 * In production mode, flash messages redirect after a time interval.
 * In development mode, you need to click the flash message to continue.
 */
Configure::write('debug', 0);

我把数值从 0 改成 1:

Configure::write('debug', 1);

修改后,再次尝试重新加载页面时,看到了相应的错误:

Fatal error: Uncaught Exception: Facebook needs the CURL PHP extension.

结论:在我的情况下,查看错误的解决方案是将 CakePHP 调试级别从 0 更改为 1,以显示错误和警告。

【讨论】:

【参考方案4】:

当您错误地尝试使用 php_info() 之类的函数时,通常会发生此类错误。

<?php 
     php_info(); // 500 error
     phpinfo(); // Works correctly
?>

仔细看看你的代码会更好。

【讨论】:

天啊。是真的,是旧版吗?【参考方案5】:

这是一个 2 年前的问题的答案,以防其他人遇到同样的问题。

根据您提供的信息,文件(或多个文件)的权限问题将是相同的 500 内部服务器错误的原因之一。

要检查这是否是问题所在(如果您无法获得有关错误的更多详细信息),请导航到终端中的目录并运行以下命令:

ls -la

如果您看到有限的权限 - 例如-rw-------@ 反对你的文件,那是你的问题。

然后解决方案是在问题文件上运行chmod 644 或在目录上运行chmod 755。有关如何更改权限的详细说明,请参阅此答案 - How do I set chmod for a folder and all of its subfolders and files?。

作为背景,我在通过 Google Drive 从另一台 Mac 复制的某些文件上遇到了与您完全相同的问题,这些文件的传输剥夺了文件的大部分权限。

下面的截图说明了。具有-rw-------@ 权限的index.php 文件会生成500 Internal Server Error,而具有-rw-r--r--@ 权限的index_finstuff.php(内容完全相同!)则很好。更改 index.php 的权限可以立即解决问题。

换句话说,您的 PHP 代码和服务器可能都很好。但是,文件的有限读取权限可能会禁止服务器显示内容,从而导致显示 500 Internal Server Error 消息。

【讨论】:

【参考方案6】:

如果您正在使用 codeigniter 框架并在 localhost 上测试项目,请打开项目文件夹的主 Index.php 文件并找到以下代码:

define('ENVIRONMENT', 'production');

改成

define ('ENVIRONMENT', 'development');

因为同样的,这个环境在你的 config 文件夹下的 database.php 文件中。 像这样:

 'db_debug' => (ENVIRONMENT! == 'development')

所以两个地方的环境应该一样,问题就解决了。

【讨论】:

【参考方案7】:

所以,最终我做了所有开发人员都讨厌做的事情。我去检查了服务器日志文件,发现第n行有语法错误的报告。

tail -n 20 /var/log/apache2/error.log

【讨论】:

【参考方案8】:

只需确保您已正确命名数据库即可。 如果不是,则必须重命名它以使其与代码上的数据库匹配。

【讨论】:

以上是关于localhost 页面不工作 localhost 当前无法处理此请求。 HTTP 错误 500的主要内容,如果未能解决你的问题,请参考以下文章

Xampp localhost 不工作并显示空白页?

Xampp 本地主机不工作

laravel 项目在“http://localhost/public/”中不起作用,页面显示“此页面不起作用”

在 azure 上部署后 SignalR 无法正常工作。在 localhost 上工作

Nodejs http://localhost:8080 不工作

`Apache` `localhost/~username/` 不工作