Set max_execution_time in PHP CLI

前端 未结 4 1859
渐次进展
渐次进展 2020-12-01 04:37

I know that PHP CLI is usually used because of none time limits and primary because it is not using Apache threads/processes.

But is there any way how to explicitly

4条回答
  •  一生所求
    2020-12-01 04:42

    I have a similar problem. But in my case, I had remote database calls taking significant time and I wanted to terminate the script after a certain amount of time. As noted in the other answers, external calls (or sleep()) doesn't count against the configured timeout setting.

    So my approach was to figure out the scripts pid, and then background a kill -9 command after a sleep. Here's a basic example:

    $cmd = "(sleep 10  && kill -9 ".getmypid().") > /dev/null &";
    exec($cmd); //issue a command to force kill this process in 10 seconds
    
    $i=0;
    while(1){
        echo $i++."\n";
        sleep(1); //simulating a query
    }
    

    Note that it's possible that your script ends nicely, and a new, different one starts up with that same pid which this kill command would terminate. That is unlikely, but you should consider that as a possibility if you use this approach.

提交回复
热议问题