Apache失败时返回Apache

我想知道是否有人知道一个方法来configurationApache返回到返回一个静态的HTML页面,它应该(Apache)能够确定PHP已经死亡? 这将为开发人员提供一个优雅的解决scheme来显示一个错误页面,而不是(最糟糕的情况下)应该已经执行的PHP页面的源代码。

谢谢。

只有当apache配置不正确才能处理php文件时,PHP源代码才会显示。 也就是说,当一个正确的处理程序尚未定义。

出现错误时,可以在php.ini中配置显示内容,主要是display_errors变量。 应该将其设置为关闭并在生产环境中启用log_errors。

如果php实际上死了,apache将返回适当的HTTP状态代码(通常是500)与ErrorDocument指令定义的页面。 如果它没有死,但是陷入了一个循环,就我所知,没有什么可以做的。

您可以为不同的错误代码指定一个不同的页面。

我认为这通常会导致500错误,您可以配置apaches 500处理程序以显示一个静态页面:

ErrorDocument 500 / 500error.html

您还可以阅读apaches文档站点上的错误处理程序

真正的问题是,PHP致命错误不会导致Apache返回500代码。 除了E_FATALE_PARSE之外的错误可以使用set_error_handler()来处理。

有2种方式用户PHP和Apache。 1.将PHP安装为Apache模块:这种方式php执行是apache进程中的一个线程。 所以如果PHP执行失败,Apache进程失败。 没有后备战略。 2.将PHP安装为CGI脚本处理程序:这样apache将为每个请求启动一个新的PHP进程。 我的PHP执行失败,Apache会知道,并可能有办法来处理错误。 不管你安装PHP的方式如何,当PHP执行失败时,你可以在php.ini文件中处理错误。