2017-02-22 132 views
2

我有一个http请求,我使用“Httpful请求”发送它在PHP中。 我如下设置20秒的超时也请求:超时无法在PHP Httpful请求

$req = Request::get($Url); 
$response = $req->timeoutIn(20)->expectsHtml()->send(); 

我期待发生超时,我可以处理该异常后,会得到一个异常。但我得到以下php致命错误。为什么这样?

PHP Fatal error: Maximum execution time of 30 seconds exceeded in phar://C:/CapPortal/cpPortal/source/wordpress/httpful.phar/Httpful/Request.php on line 202

+0

可能是因为你正在做一些长达11秒的事情,然后在PHP放弃之前再等待19秒。如果你设置了'timeoutIn(1)'这个工作吗? – apokryfos

+0

你指出的是正确的。正如@ robske_110告诉我的,set_time_limit(30)就在我的请求解决问题之前。 – Stanly

回答

2

您可以使用set_time_limit($seconds)来设置限值时,如果你需要更多的执行时间。您也可以将其设置为0,这意味着无限。警告:Apache(如果你使用PHP)也可能限制php的执行时间。

+0

我不想改变php的时间限制。我在我的请求中给出超时以在php max执行时间到达之前捕获异常。 – Stanly

+0

在我的请求解决问题之前,我添加了set_time_limit(30)。谢谢。 – Stanly

+0

请考虑让这个答案接受:) –