PHP register_shutdown_function()函数的使用示例

作者:junjie 时间:2023-10-07 08:06:27 

通过 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(),函数
0
投稿

猜你喜欢

  • python中正则的使用指南

    2023-09-10 18:24:51
  • 不受欢迎的“欢迎页”

    2008-04-20 16:41:00
  • MySQL自增列插入0值的解决方案

    2024-01-22 00:15:09
  • ChatGpt无法访问或错误码1020的几种解决方案

    2023-03-03 05:58:36
  • MySQL 8.0 驱动与阿里druid版本兼容问题解决

    2024-01-17 06:25:49
  • Python定时任务框架APScheduler原理及常用代码

    2021-02-17 23:28:10
  • python 爬取天气网卫星图片

    2022-01-11 15:52:48
  • MySQL数据库本地事务原理解析

    2024-01-25 17:44:35
  • Pthon批量处理将pdb文件生成dssp文件

    2021-10-07 13:11:04
  • C#中实现查找mysql的安装路径

    2024-01-24 05:48:15
  • MongoDB的基本特性与内部构造的讲解

    2024-01-13 21:02:55
  • Sql function 多行中的列合并为一行一列的方法

    2024-01-17 19:18:00
  • Python读大数据txt

    2021-12-29 20:34:12
  • python PyQt5 爬虫实现代码

    2022-10-19 20:24:42
  • python opencv 图像拼接的实现方法

    2021-06-21 19:11:51
  • 对python requests的content和text方法的区别详解

    2022-10-14 14:28:37
  • Jmeter基于JDBC请求实现MySQL数据库测试

    2024-01-24 23:31:23
  • JS实现淡入淡出图片效果的方法分析

    2023-08-24 08:45:44
  • Python3.9.1中使用match方法详解

    2023-09-14 09:51:21
  • python多线程并发实例及其优化

    2021-04-03 12:28:11
  • asp之家 网络编程 m.aspxhome.com