Php 如何检查脚本执行是否超过x秒?

Php 如何检查脚本执行是否超过x秒?,php,Php,我有一个使用API的PHP脚本。有时API很快,有时很慢。有没有办法检查get_contents()的执行时间;是否高于ex.2秒 如果超过这个数量,我希望包含的脚本停止,并执行原始文件 例: 您可以使用设置时间限制功能设置最大时间限制 .... //some logic const MAX_EXECUTION_TIME = 2; // for 2 seconds set_time_limit(self::MAX_EXECUTION_TIME); file_get_contents(...);

我有一个使用API的PHP脚本。有时API很快,有时很慢。有没有办法检查get_contents()的执行时间;是否高于ex.2秒

如果超过这个数量,我希望包含的脚本停止,并执行原始文件

例:


您可以使用
设置时间限制
功能设置最大时间限制

.... //some logic
const MAX_EXECUTION_TIME = 2; // for 2 seconds
set_time_limit(self::MAX_EXECUTION_TIME);
file_get_contents(...);
.... // some other logic

你的标题和问题是在问两件不同的事情(“跳过”和“检查”)。请更清楚地说明你在问什么。这里的答案可能回答了你的问题。你一直在改变潜在的问题。这篇文章的目标不清楚,不清楚的地方还在不断演变。如果执行时间大于您设置的时间,使用
set\u time\u limit
将抛出一个错误<代码>设置允许脚本运行的秒数。如果达到该值,脚本将返回一个致命错误。你说得对。也许一个试抓块会有用?或者更好的选择是使用curl。因此,类似于
curl\u setopt($ch,CURLOPT\u TIMEOUT,2)
的东西应该做这个技巧。对不起,我误解了OP的问题。据我所知,没有办法事先知道脚本的执行时间,因为它取决于很多可变因素,比如服务器速度。还有一点很重要,即
set\u time\u limit
设置了整个脚本的时间限制,而不仅仅是部分脚本。
.... //some logic
const MAX_EXECUTION_TIME = 2; // for 2 seconds
set_time_limit(self::MAX_EXECUTION_TIME);
file_get_contents(...);
.... // some other logic