2012-05-30 4 views
2

Эй, я использую Zend_Http_Client для вызова службы PHP на сервере, но я получил исключение, связанное с тайм-аутом:Zend_Http_Client таймаута

2012-05-30T13:47:26+02:00 INFO(6): LeomobileMdcms: Requesting callback url (http://######.nurago.com/mobileRedirect.php?resp=NRGH&annotations=) while updating (356812045426135) of device with token (BtPhP), in LeomobileMdcms_UserInformationController::registerdeviceAction 

2012-05-30T13:47:41+02:00 ERR(3): LeomobileMdcms: Exception throwed: Unable to Connect to tcp://########.nurago.com:80. Error #110: Connection timed out, in LeomobileMdcms_UserInformationController::registerdeviceAction 

Этот фрагмент кода отвечает за вызов обратного вызова URL:

$client = new Zend_Http_Client($receivedSmsUrl); 
$client->setConfig(array("timeout"=>5)); 
try { 
    $this->log("Requesting callback url ($receivedSmsUrl) while updating " 
       ."IMEI ($address) of device with token ($token), in ".__METHOD__, 
       Zend_Log::INFO); 
    $response = $client->request(); 
    if ($response->isError()) { 
     $this->log("Request failed. Server reply: ".$response->getStatus() 
        ." ".$response->getMessage(), 
        Zend_Log::WARN); 
    } 
} catch(Zend_Http_Client_Exception $e) { 
    $this->log("Exception throwed: ".$e->getMessage().", in ".__METHOD__, 
       Zend_Log::ERR); 
} 

Я думал, что это проблема брандмауэра, но, к сожалению, она не связана с брандмауэром.

Возможно, кто-нибудь поможет в этом?

ответ

1

Измените адаптер с разъема (по умолчанию) на Curl. Это должно решить проблему:

$client = new Zend_Http_Client(); 
$client->setAdapter('Zend_Http_Client_Adapter_Curl'); 
+1

Возможно, вы могли бы подробнее рассказать о том, почему Op должен использовать Zend_Http_Client_Adapter_Curl? По крайней мере, ссылка на ресурс, который его объясняет. –

+0

Это помогло мне, когда я столкнулся с тем же вопросом –

+0

Это спасет мой день. –

Смежные вопросы