如何检测PHP脚本是否被杀死,因为它需要太长时间

时间:2018-04-03 19:53:53

标签: php apache logging

我怀疑我的PHP应用程序中的某些脚本需要很长时间才能处理,并在max_execution_time之后被杀死。我已经学会了如何修改代码来解决这个问题(使用register_shutdown_function),但在修改代码之前,因为它有点难以重现,我想确保这是事实。

我在Apache或PHP日志中没有找到任何内容,所以我想知道是否应该在PHP中配置一些内容来记录日志中的内容或者在日志中查找内容。

1 个答案:

答案 0 :(得分:0)

尝试比较以下脚本的开始和结束时间戳:

<?php

// SET TIMEOUT TIME
ini_set('max_execution_time', 10);

// SHUTDOWN CALLBACK
function shutdown(){

    // LOG END
    error_log("END: ".time());
}

// SET SHUTDOWN CALLBACK
register_shutdown_function('shutdown');

// LOG START
error_log("START: ".time());

// INFINITE LOOP
while(true){

    // CONTINUE
    continue;

}

?>