php函数register_shutdown_function的用法,如下:
<?php function shutdown() { $last_error = error_get_last(); if ($last_error) { error_log(print_r($last_error, true), 3, ERROR_LOG); } } register_shutdown_function('shutdown'); ?>
说明:
在php脚本死掉时,不想给用户显示一个致命错误或一个空白页(在display_errors设为off的情况下) 。
PHP中有一个叫做 register_shutdown_function 的函数,可以让我们设置一个当执行关闭时可以被调用的另一个函数。
当脚本执行完成或意外死掉导致PHP执行即将关闭时,这个函数将会 被调用.所以,我们可以使用在脚本开始处设置一个变量为false,然后在脚本末尾将之设置为true的方法,让PHP关闭回调函数检查脚本完成与否. 如果我们的变量仍旧是false,我们就知道脚本的最后一行没有执行,因此它肯定在程序执行到某处死掉了。
以上例子演示在一个致命错误需要显示时,应该怎么给用户一些合适的反馈。
可以通过关闭致命错误的显示(译注:可以设置display_errors和 error_reporting)。