IIS未显示详细的PHP错误-而是显示服务器故障500


9

我曾经从Apache服务站点,但现在不得不使用IIS服务器。

我的许多PHP页面都返回错误500,但由于IIS抑制了错误消息,所以无法调试。我已经尝试ini_set('display_errors',1);过代码,但无济于事。

错误显示在某些站点上,但没有特别显示我想要调试的站点,因此我认为这不是全局PHP设置,而是与该站点的站点设置有关。

对于如何启用显示的PHP错误,我找不到明确的答案。

我找到了此链接,但不确定在哪里可以找到“ system.webServer-> httpErrors ”。

如何在IIS下启用PHP中的显示错误?

Answers:


6

如何记录它们呢?

编辑php.ini并设置

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

还有

error_log = syslog 登录到Windows事件日志,或者

error_log = location/of/logfile 登录到文件。


我已经完成了error_reportinglog_errors和的error_log所有配置,但是仍然没有记录Joomla网站的错误。该站点是从Apache服务器复制下来的。我将.htaccess规则导入IIS 7.5;但可惜的是,它仍然在失败。您是否偶然地知道我还需要研究什么?
Mike Perrenoud 2013年

5

假设您在php.ini文件中拥有所有正确的设置

  1. 在IIS管理器中选择您的网站
  2. 在右侧,双击“错误页面”图标
  3. 在“操作”下的最右侧,单击“编辑功能设置”链接
  4. 在出现的弹出窗口中,选择“详细错误”单选按钮
  5. 刷新您的PHP页面以查看详细错误

2009年,由于最后的评论


0

我发现,这是一个好主意,访问一个IIS托管的网页InternetExplorer的测试。

在我的情况下,php-error-logs很干净-从那里没有任何线索。

与firefox / chrome连接时,我得到了一个普通的非表达式“ 500-内部服务器错误”: 在此处输入图片说明

...但是在使用InternetExplorer时出现了更有用的错误消息(“ HTTP错误500.0-内部服务器错误C:\ PHP \ php-cgi.exe-FastCGI进程意外退出”): 在此处输入图片说明

也许还尝试从服务器本身上的http:// localhost连接。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.