PHP register_shutdown_function()函数的使用示例_php实例
程序员文章站
2024-04-04 18:21:53
...
通过 register_shutdown_function 方法,可以让我们设置一个当执行关闭时可以被调用的另一个函数。
header("content-type:text/html;charset=utf-8");
class Shutdown{
public function endScript(){
if(error_get_last()){
echo '
}
file_put_contents('D:\practise\php\Error\error.txt', 'this is a test');
die('脚本结束');
}
}
( ! ) Fatal error: Call to undefined function md6() in D:\practise\php\Error\shutdown.php on line 18
D:\practise\php\Error\error.txt:
this is a test
也就是说,当我们的脚本执行完成或者意外死掉导致 php 执行即将关闭时,我们的这个函数会被调用。
【使用场景】
① 页面被(用户)强制停止
② 程序代码意外终止或超时
③ php4 中没有析构函数,可以使用该函数模拟析构函数
shutdown.php
复制代码 代码如下:
header("content-type:text/html;charset=utf-8");
class Shutdown{
public function endScript(){
if(error_get_last()){
echo '
';';
print_r(error_get_last());
echo '
}
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 方法时,第一个参数一定要使用绝对路径。
上一篇: mysql中文乱码的解决
下一篇: oracle10g安装
推荐阅读
-
PHP register_shutdown_function函数的深入解析
-
PHP register_shutdown_function()函数的使用示例_php实例
-
php park、unpark、ord 函数使用方法(二进制流接口应用实例)_PHP
-
PHP set_error_handler()函数使用详解(示例)_PHP
-
PHP使用get_headers函数判断远程文件是否存在的方法_PHP
-
php set_time_limit()函数的使用详解_PHP教程
-
PHP类的使用 实例代码讲解_PHP教程
-
php定义一个参数带有默认值的函数实例分析_PHP教程
-
php的crc32函数使用时需要注意的问题_PHP教程
-
php使用array_search函数实现数组查找的方法_PHP