我正在尝试连接到 wsdl 服务,
但收到此错误:
wsdl 错误:获取 http://api.didww.com/api/?wsdl - HTTP 错误: header 的套接字读取超时
本地没有问题,但是在远程服务器上我得到了这个错误。
远程服务器:Linux CentOS (FreePBX)
编码:
$client = new soapclient($site, true);
$err = $client->getError();
if ($err)
{
echo 'ERROR: ' . $err . '</pre>';
}
$username = 'XXXX';
$_key = 'YYYY';
$auth_string = sha1($username.$_key);
$arr = array();
$arr[0] = $auth_string;
$arr[1] = $country_id;
$result = $client->call('getcities', $arr);
if ($client->fault)
{
echo '<pre>';
print_r($result);
echo '</pre>';
}
else
{
$err = $client->getError();
if ($err)
{
echo 'Error: <pre>' . $err . '</pre>';
}
}
echo '<pre>';
print_r($result);
echo '</pre>';
最佳答案
默认套接字超时在 ini 中设置,因此您可以增加它并查看它是否有效
ini_set('default_socket_timeout', 160);
或者您可以将它作为构造函数参数(选项)传递给soapclient
$client = new SoapClient($wsdl, array("connection_timeout"=>15));
关于php - 套接字 - 超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3433599/