我在我的.htaccess文件中有一些错误的ErrorDocuments设置,例如404,401,403等等,它们都重定向到我的错误页面,但是当ErrorDocument报告500时,为500错误设置的PHP永远不会显示。500代码被发送到浏览器,并且输出为空。要使500个错误文档能够与PHP一起使用,我需要做些什么吗?
我的指令如下所示:
ErrorDocument 401 /errorpage.php?error=401
ErrorDocument 403 /errorpage.php?error=403
ErrorDocument 404 /errorpage.php?error=404
ErrorDocument 500 /errorpage.php?error=500我查看了一下php.ini,没有看到任何明显会覆盖Apache设置的内容,而且我的httpd.conf中也没有ErrorDocument指令。我还应该找别的什么地方吗?
提前谢谢。
发布于 2011-08-05 22:19:15
请参阅this对一个非常类似的问题的回答。基本上,PHP几乎不会触发500。
发布于 2010-03-30 04:50:01
您可能需要在Apache conf链中更早地添加ErrorDocument声明。如果您将其添加到vhost conf,则可能无法调用它。
发布于 2013-02-06 16:37:12
在使用codeigniter和Imagick时,我碰巧遇到了同样的问题。imagick在设置500HTTP错误时出错,在这种情况下,Codeigniter的自定义500消息不会显示。
我通过将try-catch添加到所有出现500问题的Imagick functions.Check中解决了这个问题,然后添加了一个try-catch there.As用于
ErrorDocument 500 /errorpage.php?error=500,我在网上看到一些人声称这解决了他们类似的问题,其他人说这不会有什么帮助,因为Apache已经把控制权交给了PHP.Maybe一些php代码将头文件设置为500,这可能会导致浏览器显示自定义的500错误消息。
https://stackoverflow.com/questions/2252624
复制相似问题