2017-02-22 57 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

請考慮讓這個答案接受:) –