加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP或其他任何时间限制函数执行

发布时间:2020-12-13 13:05:08 所属栏目:PHP教程 来源:网络整理
导读:我可以说我的问题与 PHP有关,但我更关心的是在函数执行可以无限期执行的情况下编程的正确逻辑. 什么是监视执行某些功能所需时间的正确方法,以及如何停止执行并继续执行其余程序? 好吧,我知道例如有一个set_time_limit()函数返回致命错误但我不想这样,我希望
我可以说我的问题与 PHP有关,但我更关心的是在函数执行可以无限期执行的情况下编程的正确逻辑.

什么是监视执行某些功能所需时间的正确方法,以及如何停止执行并继续执行其余程序?

好吧,我知道例如有一个set_time_limit()函数返回致命错误但我不想这样,我希望我的代码在x秒之后继续,或者可能在超过时间之后抛出异常,抓住它并做别的什么?

正在编写某种“看门狗”功能解决方案,这是如何完成的?

感谢您提供的任何帮助,任何链接,任何以“应该”完成的方式解决此问题的文章.

BR,
新人

PHP没有提供超时功能的一般方法.但是,这个问题很常见的许多组件都允许您定义超时.

例子:

> HTTP Stream Wrapper允许您指定超时选项:

file_get_contents('http://example.com',false,stream_context_create(
    array('http' => array('timeout' => 10 /* seconds */))
));

> PDO(数据库抽象层)允许您使用PDO::ATTR_TIMEOUT attribute设置超时(请注意,此属性可能表示具有不同数据库驱动程序的不同内容):

$pdo->setAttribute(PDO::ATTR_TIMEOUT,10 /* seconds */);

>使用FTP时可以设置连接超时:

$ftp = ftp_connect('example.com',21,10 /* seconds */)

同样,访问潜在远程资源的所有其他扩展都将提供此类超时参数或选项.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读