私は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);
}