PHP register_shutdown_function()函数的使用示例

Ula ·
更新时间:2024-11-11
· 580 次阅读

通过 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')); //错误测试 echo md6();

执行,输出:

代码如下:
( ! ) Fatal error: Call to undefined function md6() in D:\practise\php\Error\shutdown.php on line 18

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

代码如下:
D:\practise\php\Error\error.txt:
this is a test

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

您可能感兴趣的文章:PHP register_shutdown_function函数的深入解析php ignore_user_abort与register_shutdown_function 使用方法php中__destruct与register_shutdown_function执行的先后顺序问题PHP中使用register_shutdown_function函数截获fatal error示例PHP错误处理函数register_shutdown_function使用示例php register_shutdown_function函数详解PHP中register_shutdown_function函数的基础介绍与用法详解



示例 函数 shutdown PHP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号