如何知道引入的文件是否执行完成,出现错误怎么捕获

功能描述:项目需要一些计划任务定时执行,写了一个文件,创建一个A文件,配置各个PHP任务文件的执行时间次数等, 然后服务器添加一个计划任务调用 A文件,

问题:如果其中的某一个文件存在致命错误,停止执行,则造成后续的文件都停止运行, 能不能有个办法判断当前引入的任务文件是否执行成功,比如:文件500错误等,当错误了我就写入错误日志中, 尝试了try 方法,没有效果,大神们有什么思路指点下

//执行该文件

if($is_load && is_file($value['url'])){
    echo '执行文件:' . $value['url'];
    $time_arr[$value['k']] = 0;
    try {
        include_once './'.$value['url'];
    } catch (Exception $exc) {
        echo $exc->getTraceAsString();
    }
    
    log_tao('计划任务执行文件:'. $value['url'], 0);
}
慕的地10843
浏览 405回答 3
3回答

狐的传说

include是有返回值的,检查一下返回值以确定是否引入成功。 但是...为什么引入的文件可能会出现500代码错误的情况呢?代码错误不是究极bug吗

倚天杖

致命错误是没办法try住的,你尝试使用register_shutdown_function函数注册脚本终止时的函数。或者用set_error_handler函数来捕获错误。
打开App,查看更多内容
随时随地看视频慕课网APP