怎样防备一个函数实行时候太长呢?在PHP里可以用pcntl时钟信号+非常来完成。类别:PHP教程 / 日期:2019-12-01 / 浏览:188 / 评论:0
代码以下:
<?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网别的相干文章!
版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。