如何记录call_user_func_array中发生的致命错误? 它位于作为守护程序运行的CLI脚本中。 我想在发生错误时记录,但它总是会抛出错误消息。
我尝试但无法使其发挥作用的事情:
try {call_user_func_array()} catch (Exception $e ) {do_log}
或
ob_start ();
try {call_user_func_array()} catch (Exception $e ) {do_log}
或
register_shutdown_function('shutdownFunction');
或
ini_set('error_log',$baseDir.'/Jobque_error.log');
fclose(STDIN);
fclose(STDOUT);
fclose(STDERR);
$STDIN = fopen('/dev/null', 'r');
$STDOUT = fopen($baseDir.'/Jobque_application.log', 'ab');
$STDERR = fopen($baseDir.'/Jobque_daemon.log', 'ab');
答案 0 :(得分:2)
你无法发现致命的错误。它是致命的,所以你的脚本会死掉,你无能为力。
实际上,通过register_shutdown_handler
注册的功能仍然会执行但你无法获得回溯等等,所以这很无用。
唯一可能的致命错误记录是通过log_errors
php.ini设置。