【发布时间】:2014-12-22 18:50:01
【问题描述】:
我正在尝试使用 IIS vrs 8.5 和 PHP vrs 5.2.17 让 PHP 错误显示在屏幕上,但我继续收到 IIS 500 错误 http 页面或空白屏幕。我已经找到了许多应该修复的 SO 帖子,但它们上的任何内容都没有解决我的问题。这是我尝试过的。
- 将 errorMode 更改为详细。仍然得到 500 错误页面而不是 php 错误。
- 删除了“httpErrors”块下默认 IIS 配置文件中的所有自定义错误。仍然收到 IIS 自定义 500 错误页面。
- 在默认 IIS 配置中的 httpErrors 块中添加了 existingResponse="PassThrough"。这样做会导致我得到一个空白页面,而不是 php 错误或 IIS 500 错误。
- 我已验证站点默认 system.config 文件中没有覆盖这些设置。
目前我在屏幕上看到的是空白页而不是 IIS 500 错误。我已经验证了 display_errors 是打开的,并且 error_reporting 是正确的。我也知道 php 页面运行得很好。我故意通过删除页面上的分号来导致此 php 错误。所以我已经知道一切正常。 PHP 错误日志也可以工作,但我希望错误显示在页面上,这样我就不必每 5 分钟查看一次错误日志。
还有什么可能导致这种情况?
【问题讨论】:
-
你为什么使用 IIS 6.2?
-
@dai 根据我的阅读,IIS 的版本特定于操作系统的版本。我现在正在运行 Windows 8.1,这就是安装的。在我看来,IIS 7 是用于 Windows Server 的。顺便说一句,这是出于本地开发目的。
-
查看服务器错误日志以获取有关 500 的详细信息。至少了解原因可能是什么,而不是四处尝试随机的事情。
-
@Metropolis IIS 版本号与 Windows 版本号无关。 Windows 8.1 有 IIS 8.5,而不是 6.2(Windows 8.1 与 Server 2012 R2 基本相同)
-
@Metropolis IIS 管理器中显示的“帮助 > 关于”版本是 Windows 版本,而不是 IIS。当前 IIS 版本位于注册表中的
HKLM\SOFTWARE\Microsoft\InetStp\VersionString。您无法在 Windows 上升级 IIS:support.microsoft.com/kb/224609