导航首页 » 技术教程 » PHP register_shutdown_function()函数的使用示例
PHP register_shutdown_function()函数的使用示例 144 2023-12-10   

通过 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:practisephpErrorerror.txt', 'this is a test');

        die('脚本结束');

    } 

}

register_shutdown_function(array(new Shutdown(), 'endScript'));

//错误测试 echo md6();

执行,输出:

( ! ) Fatal error: Call to undefined function md6() in D:practisephpErrorshutdown.php on line 18

Array ( [type] => 1 [message] => Call to undefined function md6() [file] => D:practisephpErrorshutdown.php [line] => 18 ) 脚本结束

D:practisephpErrorerror.txt:

this is a test

注意:register_shutdown_function 方法是从内存中调用的,因此在使用 file_put_contents 方法时,第一个参数一定要使用绝对路径。


!!!站长长期在线接!!!

网站、小程序:定制开发/二次开发/仿制开发等

各种疑难杂症解决/定制接口/定制采集等

站长微信:lxwl520520

站长QQ:1737366103