PHP: 关闭 SoapClient 连接会更好吗?

PHP: Is it better to close SoapClient connection?

我创建了以下辅助函数:

function mainSoap(){
    return new SoapClient('https://soap.url',[
        'stream_context' => stream_context_create([
            'ssl' => [
                'verify_peer' => false,
                'verify_peer_name' => false,
                'allow_self_signed' => true
            ]
        ]);
    ]);
}

我正在使用它 $result=mainSoap()->GetSometing($parameters);

一切正常,但在性能方面,我想知道关闭 soap 连接是否更好。

UPDATE

我创建了另一个函数以便在获得响应后关闭连接,但我仍然找不到 SoapClient 的关闭方法。

function mainSoap(string $call=null, array $vars=[]){
    $url="https://soap.url";
    $wsdl=new SoapClient($url,[
        'trace' => false,
        'keep_alive' => false,
        'stream_context' => stream_context_create([
            'ssl' => [
                'verify_peer' => false,
                'verify_peer_name' => false,
                'allow_self_signed' => true
            ]
        ]),
        'compression'   => SOAP_COMPRESSION_ACCEPT | SOAP_COMPRESSION_GZIP | SOAP_COMPRESSION_DEFLATE
    ]);
    $response=$wsdl->__soapCall($call,$vars);
    //Looking for something like $wsdl->close();
    return $response;
}

我正在使用它 $result=mainSoap('GetSometing',[$parameters]);

SoapClient 遵循正常的 HTTP 请求生命周期,

也就是说,你的SoapClient 并没有保持与服务器的常连接,它只会在调用时连接出去并接收数据,类似于如何请求完成后,您的浏览器不会保持与服务器的连接,因为请求已终止,除非您将 keep_alive 设置为 true。

所以,简而言之,你不能"close"一个SoapClient,因为你调用它之后没有什么可以关闭的,它已经关闭了连接。

相关链接: