爱程序网

为PHP函数执行设置超时

来源: 阅读:

如何防止一个函数执行时间过长呢?在PHP里可以用pcntl时钟信号+异常来实现。

代码如下:

declare(ticks = 1);    function a(){    sleep(10);    echo "a finishin";}function b(){    echo "Stopn";}function c(){    usleep(100000);}function sig(){    throw new Exception;}try{    pcntl_alarm(1);    pcntl_signal(SIGALRM, "sig");    a();    pcntl_alarm(0);}catch(Exception $e){    echo "timeoutn";}b();a();b();

相关文章列表: