【问题标题】:Why is Apache giving me Server Error 500 instead of PHP errors, previously working fine?为什么 Apache 给我服务器错误 500 而不是 PHP 错误,以前工作正常?
【发布时间】:2016-01-26 04:08:13
【问题描述】:

在过去的 4 周里,我的 MAMP 服务器已更新并运行良好,我一直在努力工作。一直在编写 PHP 文件,当我出错或不明白我在做什么时,我会在页面上看到一个不错的 PHP 小错误,而不是调用的文件。

它帮助我找出我做错了什么。

今天,我坐下来开始工作,突然收到Server Error 500。我花了 45 分钟才找到拼写错误的声明!为什么我突然没有收到 PHP 错误??

据我所知,没有任何变化。我已经一个多星期没有更新任何应用程序了。 PHP 错误日志显示 T-String 错误没有问题。 Apache 日志完全没有显示任何内容。

同样,据我所知,没有更改任何配置。

MAMP ver. 3.5
Apache ver. 2.4.16 (Unix)
PHP ver. 5.6.10

php_error.log:

[26-Jan-2016 03:59:26 UTC] PHP Parse error:  syntax error, unexpected end of file in /Applications/MAMP/htdocs/includes/pages.php on line 43

错误报告声明(未更改!)

error_reporting( E_CORE_ERROR | E_CORE_WARNING | E_COMPILE_ERROR | E_ERROR | E_WARNING | E_PARSE | E_USER_ERROR | E_USER_WARNING | E_RECOVERABLE_ERROR );

【问题讨论】:

  • /includes/pages.php 的第 43 行存在语法错误。请发布pages.php 或检查语法错误。错误 500 是一个通用的服务器错误代码。
  • 错误是一个简单的缺少分号行终止符:$current_page = new Page("add-new-page") 更改为$current_page = new Page("add-new-page");。语法错误不是我的问题。事实上,当我遇到语法错误时,我没有收到 PHP 错误,就像我一直遇到的那样。
  • 抱歉,请重新阅读您的问题
  • 没问题,感谢您的帮助!

标签: php apache mamp


【解决方案1】:

打开您的 php.ini 文件以检查您的错误报告是否已关闭。如果是这种情况,则通过在文件顶部添加这两行来启用运行时错误报告

error_reporting(E_ALL);
ini_set('display_errors', 'On');

您应该仅出于调试目的执行此操作,并且不要忘记在生产服务器中删除它。

【讨论】:

  • 这导致它显示 PHP 错误。如果我不应该在生产过程中保留这些行,那么通常打开什么设置会显示它们。更重要的是,为什么在我不做任何改变的情况下会出现这种情况?
  • 在您的 php.ini 文件中搜索这两行“error_reporting =”和“display_errors =”。您可以在此处指定应显示哪些错误,哪些不显示?在生产服务器中,出于安全原因,默认情况下应将其关闭。
  • 非常感谢您的帮助。我仍然对这如何自行改变感到困惑,但是哦,好吧!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-04
  • 2012-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-18
相关资源
最近更新 更多