gpt4 book ai didi

php - 在 call_user_func_array() 中记录错误

转载 作者:搜寻专家 更新时间:2023-10-31 21:15:05 27 4
gpt4 key购买 nike

如何记录 call_user_func_array 中发生的 fatal error ?它位于作为守护进程运行的 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');

最佳答案

您无法捕获 fatal error 。这是致命的,因此您的脚本会终止,您对此无能为力。

实际上,通过 register_shutdown_handler 注册的函数仍会执行,但您无法获得回溯等,所以这毫无用处。

fatal error 的唯一可能记录是通过 log_errors php.ini 设置。

关于php - 在 call_user_func_array() 中记录错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10742881/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com