我正在使用PHP的内置SoapClient,它需要在5秒后超时。因此我正在使用ini_set("default_socket_timeout", 5);
。但是,在获取WSDL时,它会在10秒后超时。如果我将默认套接字超时更改为1秒,则在2之后超时,依此类推。实际的肥皂会在预期的5秒后调用超时。但
这是PHP中的错误,预期的行为还是我需要更改一些其他设置?使用PHP 5.6.28。
谢谢!
答案 0 :(得分:0)
您还需要更改一个额外的超时设置:z=[1,9,6,5,5,3,4,6]
y=['1','4','9','7','6','5','5','1','5','0','3','3','4','1','6','0']
z.insert(z[0],int(y[1]))
print(z)
[1, 4, 9, 6, 5, 5, 3, 4, 6]
z.insert(z[2],int(y[3]))
print(z)
[1, 4, 9, 6, 5, 5, 3, 4, 6, 7]
,它将传递给$ options数组参数中的SoapClient。此超时控制SoapClient等待(以秒为单位)连接到Soap服务的时间,这正是您要查找的内容。
用法:
connection_timeout
连接后,$soapclient = new SoapClient($uri, array('connection_timeout' => 5));
开始运行并控制SoapClient等待响应的时间。