【发布时间】:2014-08-25 06:55:58
【问题描述】:
我有一个 PHP 脚本,它使用 passthru() 函数执行批处理 (.bat) 文件。通过使用 echo 语句打印批处理文件的输出。
当托管在 Apache 网络服务器上时,此 PHP 脚本工作得非常好,但是当托管在 IIS 7.5 上时,相同的 PHP 脚本在每次备用调用时都会产生 500.0 错误
我做了一些研究,发现如果 PHP 脚本需要很长时间才能执行,浏览器就会无响应。
因此,我编辑了 PHP 脚本以写入“执行批处理文件之前”和“执行批处理文件之后”之类的文件。
由于显示 500.0 错误,文件仍在通过上述行进行更新。这得出结论,虽然脚本正在执行但浏览器显示 500.0
是否有任何可以在 IIS 中调整的设置? 仅 IIS 7.5 会出现此问题。当我使用 Apache 时,它就像一个魅力。
【问题讨论】:
-
您是否希望通过error.log 文件来检测问题?可能这会帮助你support.microsoft.com/kb/942031/en
-
FailedReqLogFiles 文件夹下没有生成文件。唯一得到更新的日志文件是 u_ex
s date>.log. Is that what you are asking for? I dont 非常了解 IIS。 -
我得到的错误代码是 0x800700e9。错误描述为“由于发生内部服务器错误,无法显示页面”。模块是 FastCgiModule。
-
打开您的 PHP.ini 并查找“error_log”值。确保它指向 IIS 工作进程可以写入的文件。还要检查“error_reporting”值并确保它包含“E_ALL”。之后,打开“error_log”值所指向的文件:它应该包含有关损坏的更多信息。
-
我已验证日志未针对 500.0 失败请求进行更新。虽然,对于其他类型的故障,我可以看到更新。
标签: php windows apache batch-file iis