2012-08-23 69 views
4

我使用Zend_Http_Client請求一個URL無效URL時,HTTP客戶端有一個超時設置爲10一個Zend_Http_Client掛起嘗試請求

$config = array(
    'adapter' => 'Zend_Http_Client_Adapter_Curl', 
    'curloptions' => array(
     CURLOPT_USERAGENT  => 'Zend_Curl_Adapter', 
     CURLOPT_HEADER   => 0, 
     CURLOPT_VERBOSE  => 0, 
     CURLOPT_RETURNTRANSFER => 1, 
     CURLOPT_TIMEOUT  => 10, 
     CURLOPT_SSL_VERIFYPEER => false, 
    ), 
); 

爲了測試我還增加了一個設定的時間限制來嘗試從掛阻止它:

set_time_limit(10); 

try { 
    $client->request($method); 
} catch (Zend_Http_Client_Exception $e) { 
    // ... 
} 

請求只是掛起,所以我不能得到迴應對象,並沒有異常/嚴重錯誤拋出。任何人有過這個問題嗎?

+1

發現問題,它實際上是一個與上下文有關的問題,出於某種原因在閉包中引發異常失敗。 –

回答

0

您是否嘗試過添加CURLOPT_CONNECTTIMEOUT選項?

+0

是的,正如在上面的評論,它不是http_client,這是它導致它掛起。 https://bugs.php.net/bug.php?id=62628 –