1
我想強制PHP永遠不會嘗試連接並通過 一段時間發送信息到web服務。我在下面使用,由於某種原因,它會在允許的時間內運行,我無法弄清楚爲什麼。例如,如果我將其設置爲30秒,則會發現在某些情況下需要更長的時間。如果時間太長,我需要找出100%終止連接的方法。PHP超時無法在webservice上工作
TIA, 威爾
$intTimeout = $this->getTimeout(); $client = new SoapClient("{$this->url}?WSDL", array('trace' => 0, 'connection_timeout'=>$intTimeout)); try { $this->response = $client->someService($objPerson); } catch(Exception $e) { } $this->restoreTimeout();
function getTimeout() { $intTimeout = @$this->timeout ? $this->timeout : 60; $_SESSION['old_sock'] = ini_get('default_socket_timeout'); ini_set('default_socket_timeout', $intTimeout); return $intTimeout; } function restoreTimeout() { $intCurSockTime = @$_SESSION['old_sock']; if($intCurSockTime) ini_set('default_socket_timeout', $intCurSockTime); }