zoukankan      html  css  js  c++  java
  • PHP 错误与异常 笔记与总结(11 )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: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 方法时,第一个参数一定要使用绝对路径。

  • 相关阅读:
    [ubuntu] aptget 详解
    zoj 1048 求平均数 python
    zoj 1001 A+B Python版本
    HustOj 数据库分析(r1292) [—夏 夏 ]
    poj 3020 Antenna Placement 夜
    poj 3349 Snowfalke Snow Snowflakes 夜
    poj 1062 昂贵的聘礼 夜
    poj 3368 Frequent values 夜
    poj 2524 Ubiquitous Religions 夜
    poj 1273 Drainage Ditches 夜
  • 原文地址:https://www.cnblogs.com/dee0912/p/4575707.html
Copyright © 2011-2022 走看看