我有一个PHP应用程序,并希望在请求结束时调用特定的函数(此函数将信息写入日志文件)。实际上,我希望这个函数被最后调用,不管代码采用什么路线,也不管之前调用了哪些函数。在请求结束前调用一个特定的函数
有什么方法可以知道或了解PHP何时准备好将信息发送回Web服务器?
function req_end() {
global $logger;
$logger->log("----------------------------------------------", PEAR_LOG_INFO);
$logger->log(" Request End ", PEAR_LOG_INFO);
$logger->log("==============================================", PEAR_LOG_INFO);
$logger->log("", PEAR_LOG_INFO);
}
register_shutdown_function('req_end');
如果我打电话req_end在我的index.php文件的末尾,然后将其写入日志,如果不是,它是不是在所有调用。 谢谢 Crouz
感谢您的回答。我知道这个函数,但认为它不是正确的,因为尽管我用函数的名称调用它来写入日志,但没有任何反应,日志没有写入。所以基本上,出于某种原因,它不适合我。 – Crouzilles
但是你的函数运行吗?如果是这样,你应该改变你的问题,因为你的问题涉及到写入日志文件,而不是在脚本结束时触发函数。顺便说一句,你可以显示你的代码来写这个日志文件,我相信你只是把路径错误或一些小错误,例如尝试使用绝对路径。 – aleation
如果我手动调用该函数,则该函数运行,但如果使用register_shutdown_function调用,则该函数不会运行。我甚至写了另一个函数来简单地回显一些东西,然后用register_shutdown_function注册它,但它也不会被调用。我已经读过,这个功能可以在php配置文件中关闭,但我没有线索寻找什么,所以我必须做一些搜索。 – Crouzilles