旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

PHP如作甚函数实行设置超时【php教程】

作者:搜搜PHP网发布时间:2019-12-01分类:PHP教程浏览:79


导读:怎样防备一个函数实行时候太长呢?在PHP里可以用pcntl时钟信号+非常来完成。代码以下:<?phpdeclare(ticks=1);functiona...
怎样防备一个函数实行时候太长呢?在PHP里可以用pcntl时钟信号+非常来完成。

代码以下:

<?php
declare(ticks = 1);
function a()
{
    sleep(10);
    echo "a finishi\n";
}
function b()
{
    echo "Stop\n";
}
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 "timeout\n";
}
b();
a();
b();

道理是在函数实行前先设定一个时钟信号,假如函数的实行凌驾划定时候,信号会被触发,信号处置惩罚函数会抛出一个非常,被外层代码捕捉。如许就跳出了本来函数的实行,接着实行下面的代码。假如函数在划定的时候内,时钟信号不会触发,在函数完毕后消灭时钟信号,不会有非常抛出。

更多PHP相干学问,请接见ki4网!

以上就是PHP怎样为函数实行设置超时的细致内容,更多请关注ki4网别的相干文章!

标签:pcntl时钟信号异常