套接字 - 超时

时间:2010-08-08 08:24:16

标签: php sockets centos

我试图连接到wsdl服务, 但得到这个错误:

wsdl错误:获取http://api.didww.com/api/?wsdl - HTTP错误:标头的套接字读取超时

本地没有问题,但在远程服务器上我收到此错误。

远程服务器: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>';

1 个答案:

答案 0 :(得分:2)

默认套接字超时在ini中设置,因此您可以增加它并查看它是否有效

ini_set('default_socket_timeout', 160);

或者您可以将它作为构造函数参数(选项)传递给soapclient

$client = new SoapClient($wsdl, array("connection_timeout"=>15));