PHP在呈现页面之前手动确定PHP的最后一件事情?

时间:2012-10-16 15:18:40

标签: php

我正在尝试找出解除php会话变量的最佳方法,在所有页面都已加载并且页面将呈现给浏览器之后。我有一个页面,其中包括&需要渲染多个页面。我想知道是否有内置的php函数会告诉php在页面完成之前做些什么。或者最好的方法/做法是什么?

EDIT ## 这是我添加的......

function unsetHIST_ID(){unset($_SESSION['Hist_CID']);}
register_shutdown_function('unsetHIST_ID');

3 个答案:

答案 0 :(得分:1)

有.ini指令auto_append_file,如果指定则由PHP最后解析。它基本上被视为你自己将require('somefile.php')作为文件中最后一个命令。

答案 1 :(得分:1)

我不确定你为什么要这样,但如果你想在调用脚本execution finishesexit()之后执行某个功能,那么你应该看一下register_shutdown_function

实施例

function shutdown() {
    echo "Am dead anyway";
}

register_shutdown_function('shutdown');

echo "<pre>";
echo "Hello am Alive",PHP_EOL;

输出

Hello am Alive
Am dead anyway <---------------This would always run last 

答案 2 :(得分:1)

你需要像

这样的东西
register_shutdown_function ('my_atexit_function');

或者你可以用

来做到这一点
ob_start('content_handler');

第一个函数将在退出前立即调用,这不是您要求的;在输出之前的第二个,但是这允许你对已经变成静态的输出做一些事情。

我会选择register_shutdown_function