我已将我的网站移至另一台服务器。移动后我开始将Soap错误称为“无法连接到主机”。我尝试连接的服务使用https协议。
旧服务器的PHP版本:5.4 新服务器的PHP版本:5.6.16
连接中没有错误,我成功连接到我在下面编写代码的服务器:
try {
$client = new SoapClient('https://www.example.com', [
'trace' => 1,
'stream_context'=> stream_context_create(['ssl'=> array('verify_peer'=>false, 'verify_peer_name'=>false)])
]);
} catch (SoapFault $sf) {
echo $sf->getMessage();
}
但是在调用方法后我收到错误:
try {
$response = $client->method($parameter);
} catch (SoapFault $sf) {
echo $sf->getMessage();
}
此代码的结果:“无法连接到主机”。
我该如何解决这个问题? 非常感谢您对此事的兴趣。
答案 0 :(得分:0)
在文件中设置此值。
的ini_set( 'soap.wsdl_cache_enabled',0);
的ini_set( 'soap.wsdl_cache_ttl',0);
尝试通过这种方式检查您的连接: -
file_get_contents("https://www.example.com");
也尝试这种方式: -
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, "https://www.example.com");
$result = curl_exec($ch);
curl_close($ch);
如果以上所有解决方案均无效,请写下以下内容: -
$arrContextOptions=array(
"ssl"=>array(
"verify_peer"=>false,
"verify_peer_name"=>false,
),
);
$response = file_get_contents("https://www.example.com", false, stream_context_create($arrContextOptions));
echo $response;
同时检查此link。