私はPHPに、一定期間Webサービスに接続して情報を送信しないように強制しようとしています。以下を使用していますが、何らかの理由で許可された時間を超えて実行され、その理由がわかりません。たとえば、30 秒に設定すると、場合によってはもっと時間がかかることがわかります。時間がかかりすぎる場合は、接続を 100% 切断する方法を見つける必要があります。
ティア、ウィル
$intTimeout = $this->getTimeout(); $client = new SoapClient("{$this->url}?WSDL", array('trace' => 0, 'connection_timeout'=>$intTimeout)); 試す { $this->response = $client->someService($objPerson); } catch(例外 $e) { } $this->restoreTimeout();
関数 getTimeout() { $intTimeout = @$this->timeout ? $this->タイムアウト: 60; $_SESSION['old_sock'] = ini_get('default_socket_timeout'); ini_set('default_socket_timeout', $intTimeout); $intTimeout を返します。 } 関数 restoreTimeout() { $intCurSockTime = @$_SESSION['old_sock']; if($intCurSockTime) ini_set('default_socket_timeout', $intCurSockTime); }