[英]PHP warnings cause script to halt on IIS running FastCGI
我们正在迁移到运行Windows 2003和IIS 6的新服务器。当我的PHP代码运行时,它会在特定行上发出警告(我现在期待但很快就会修复)。 但是,当它遇到警告时,会立即停止处理并在HTTP标头中返回500错误。 通常,我希望PHP输出警告,但继续处理脚本。
在遇到警告时,IIS,FastCGI或PHP的配置中是否会出现500个错误?
澄清:我不想压制警告; 我希望他们展示。 我不希望脚本停止处理警告。
找出问题所在。 php.ini中的log_errors
设置为On
,但未设置error_log
。 这导致PHP停止一切。 将display_errors
设置为on
,现在会显示警告,以便我可以看到输出中的内容在哪里断开。
这个帖子很有帮助: http : //forums.iis.net/p/1146102/1856222.aspx#1856222
我不知道IIS或FastCGI,但是afaik php没有这样的选择。 但是,您可以将error_reporting
(在您的php.ini
)设置为
E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
警告消失了。
这在很大程度上取决于你的PHP代码,如果你在代码中做了一些复杂的事情并且发生错误,web服务器有时会抛出500个错误。 我建议你:
在行上放一个@
来抑制错误,即:
$ X = @创建my_function($ y)基
查看您的Web服务器日志以获取确切的错误消息,然后将其发布到此处,也许我们可以为您提供更好的解决方案。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.