我正在使用 php 5.0 和 IIS 5。当我尝试访问我的应用程序时,我收到 2 个错误,例如
PHP has encountered an Access Violation at 011173CD
和
HTTP/1.1 500 Server Error Server: Microsoft-IIS/5.1 Date: Thu, 15 Sep 2011 10:26:36 GMT Content-Type: text/html Content-Length: 44 -2147417842 (0x8001010e)
我不知道为什么会出现这种情况。请告诉我如何解决这个问题。
答案1
大多数时候,我发现 PHP 中出现类似的崩溃,是因为 IIS 和 PHP 之间的版本不匹配,或者扩展也出现同样的情况。
确保整个堆栈使用正确的版本、体系结构(32 位与 64 位)等,并且它们都匹配且建议相互使用。如果使用 FastCGI,请确保已修补它并使用最新版本。(该链接适用于 IIS 7。您使用如此旧版本的 IIS 而无法迁移到 10 年前的版本,这有什么原因吗?如果您不升级它,您将会被问题困扰。)
如果您遇到启动问题或仅在使用某些扩展时出现问题,请尝试禁用扩展,看看是否可以在没有扩展的情况下启动它,以查明是否是某个扩展导致了问题。
尝试将日志记录级别设置得较低,以提高其水平,例如,设置到调试级别。
如果这些都不起作用,您可以尝试在 Windows 上运行 Apache 看看是否有帮助。或者只运行 php.exe 独立程序来检查是否是 PHP 独有的问题还是 PHP + IIS 的问题。