PHP调用Soap方法错误[无法连接到主机]

时间:2016-01-08 12:40:40

标签: php soap

我已将我的网站移至另一台服务器。移动后我开始将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();
}

此代码的结果:“无法连接到主机”。

我该如何解决这个问题? 非常感谢您对此事的兴趣。

1 个答案:

答案 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