PHP register_shutdown_function()函数的使用示例 |
|
通过 register_shutdown_function 方法,可以让我们设置一个当执行关闭时可以被调用的另一个函数 。 也就是说,当我们的脚本执行完成或者意外死掉导致 php 执行即将关闭时,我们的这个函数会被调用 。 【使用场景】 ① 页面被(用户)强制停止 ② 程序代码意外终止或超时 ③ php4 中没有析构函数,可以使用该函数模拟析构函数 shutdown.php 复制代码 代码如下: <?php header("content-type:text/html;charset=utf-8"); class Shutdown{ public function endScript(){ if(error_get_last()){ echo <pre>; print_r(error_get_last()); echo </pre>; } file_put_contents(D:\practise\php\Error\error.txt, this is a test); die(脚本结束); } } register_shutdown_function(array(new Shutdown(), endScript)); //错误测试 执行,输出: 复制代码 代码如下: ( ! ) Fatal error: Call to undefined function md6() in D:\practise\php\Error\shutdown.php on line 18 Array 复制代码 代码如下: D:\practise\php\Error\error.txt: this is a test 注意:register_shutdown_function 方法是从内存中调用的,因此在使用 file_put_contents 方法时,第一个参数一定要使用绝对路径 。 |