如何在PHP中设置特定执行的超时?

时间:2011-10-07 04:46:38

标签: php

我想要做的是,我正在对Twitter运行查询,如果结果的传递延迟超过特定时间,那么我想对用户说“请稍后再试,超时”。我不是在问Twitter部分,因为最初的解释我讲了我的故事,但我喜欢学习如何用PHP本机代码完成它。

我的想法如下:

startTimeout(callback(),3000);//Probably this function needs to start a new thread or another concurrent execution scope
//... initiating some twitter queries here

function callback()
{
   echo "Time out, sorry";
}

2 个答案:

答案 0 :(得分:2)

set_time_limit()应该可以解决问题。这定义了脚本可以运行的秒数。

答案 1 :(得分:0)

出于您的目的,如果您使用CURL,请尝试

$timeout = 10;
curl_setopt($resource, CURLOPT_TIMEOUT, $timeout);

对于其他功能,要实现这一目标并不容易。

有功能已经支持TIMEOUT参数,这取决于你的目的