php - PHP:关闭 SoapClient 连接会更好吗?
问题描述
我创建了以下辅助函数:
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);
一切正常,但就性能而言,我想知道关闭肥皂连接是否更好。
更新
我创建了另一个函数以便在收到响应后关闭连接,但我仍然找不到 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 请求生命周期,
也就是说,你不会保持与服务器的持续连接,它只会在被调用时连接并接收数据,类似于你的浏览器在请求完成后不会保持与服务器的连接,因为请求被终止, 除非您设置为 true。SoapClient
keep_alive
所以,简而言之,你不能“关闭” aSoapClient
因为在你调用它之后没有什么可以关闭的,它已经关闭了连接。
相关链接:
推荐阅读
- xamarin.forms - 如何克隆随机访问流?
- php - 数据库模型的缓存包装器
- javascript - 滚动到顶部按钮在 Android 设备上不起作用
- git - `git rebase -i`,交互式列表中缺少几个正常的提交
- python - 如何将调查结果转换为python pandas中总受访者的百分比?
- docker - nginx反向代理简单配置不重定向
- maven - 切换操作系统后无法生成源
- c - 在 C 中使用反射/位反转输入计算 CRC16
- php - 如何在 laravel 项目中使用 kafka 和 redis?
- office-js - Office Web 加载项无法正确加载。拒绝连接