2

サーバーで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);
}

ファイアウォールの問題だと思っていましたが、残念ながらファイアウォールとは関係ありません。

その中で誰か助けてください。

4

1 に答える 1

1

Adapter を Socket(default) から Curl に変更します。これで問題は解決するはずです:

$client = new Zend_Http_Client();
$client->setAdapter('Zend_Http_Client_Adapter_Curl');
于 2015-01-07T11:15:51.837 に答える