我想知道是否有人知道有一种方法可以将apache配置为返回静态HTML页面,它(Apache)应该能够确定PHP已经死了吗?这将为开发人员提供一个优雅的解决方案,以显示错误页面,而不是(最坏的情况下)本应执行的PHP页面的源代码。
谢谢。
发布于 2008-09-15 09:30:30
只有当apache未正确配置为处理PHP文件时,才会显示php源代码。也就是说,当没有定义适当的处理程序时。
在出现错误时,可以在php.ini上配置所显示的内容,主要是display_errors变量。在生产环境中,应将其设置为off,并将log_errors设置为on。
如果php真的死了,apache将在ErrorDocument指令定义的页面中返回适当的HTTP状态码(通常是500)。如果它没有死掉,而是陷入了一个循环,据我所知,你能做的就不多了。
您可以为不同的错误代码指定不同的页面。
发布于 2008-09-15 09:27:34
我假设这通常会导致500错误,您可以配置Apachs500处理程序来显示静态页面:
ErrorDocument 500 /500error.html
您还可以在apaches documentation site上阅读有关错误处理程序的信息
发布于 2008-09-15 13:14:49
真正的问题是PHP致命错误不会导致Apache返回500代码。除了E_FATAL和E_PARSE之外的错误可以按照您喜欢的方式使用set_error_handler()来处理。
https://stackoverflow.com/questions/62012
复制相似问题