PHP';获取WSDL时,SoapClient在两倍于默认\u套接字\u超时时间后超时
我正在使用PHP的内置SoapClient,它需要在5秒后超时。因此,我使用PHP';获取WSDL时,SoapClient在两倍于默认\u套接字\u超时时间后超时,php,soap,soap-client,Php,Soap,Soap Client,我正在使用PHP的内置SoapClient,它需要在5秒后超时。因此,我使用ini\u集(“default\u socket\u timeout”,5)。但是,在获取WSDL时,它会在10秒后超时。如果我将默认套接字超时更改为1秒,它将在2秒后超时,依此类推。但实际的soap调用在5秒后超时,这与预期的一样 这是PHP中的错误、预期行为还是需要更改其他设置?使用PHP5.6.28 谢谢 您还需要更改一个额外的超时设置:connection\u timeout,它在$options数组参数中传递给
ini\u集(“default\u socket\u timeout”,5)代码>。但是,在获取WSDL时,它会在10秒后超时。如果我将默认套接字超时更改为1秒,它将在2秒后超时,依此类推。但实际的soap调用在5秒后超时,这与预期的一样
这是PHP中的错误、预期行为还是需要更改其他设置?使用PHP5.6.28
谢谢 您还需要更改一个额外的超时设置:connection\u timeout
,它在$options数组参数中传递给SoapClient。此超时控制Soap客户端等待连接到Soap服务的时间(以秒为单位),这正是您所寻找的
用法:
$soapclient = new SoapClient($uri, array('connection_timeout' => 5));
连接后,“default\u socket\u timeout”
将发挥作用,并控制SoapClient等待响应的时间。您还需要更改一个额外的超时设置:连接\u timeout
,它在$options数组参数中传递给SoapClient。此超时控制Soap客户端等待连接到Soap服务的时间(以秒为单位),这正是您所寻找的
用法:
$soapclient = new SoapClient($uri, array('connection_timeout' => 5));
连接后,“默认\u套接字\u超时”
将发挥作用,并控制SOAP客户端等待响应的时间。听起来很合理。。。但是,无论我将其设置为什么,使用“connection\u timeout”(连接超时)设置超时仍需要10秒。默认的\u socket\u timeout(套接字超时)仍然设置为5?真奇怪。WSDL是http还是https?是。它是通过http到localhost的。对我来说,它只能用http复制,不能用HTTPS复制。听起来很合理。。。但是,无论我将其设置为什么,使用“connection\u timeout”(连接超时)设置超时仍需要10秒。默认的\u socket\u timeout(套接字超时)仍然设置为5?真奇怪。WSDL是http还是https?是。它是通过http到localhost的。对我来说,它只能用http复制,不能用HTTPS复制。你能粘贴一个代码示例吗?如果你使用file\u get\u contents($wsdl),是否会发生相同的超时行为?你能粘贴一个代码示例吗?如果你使用file\u get\u contents($wsdl),是否会发生相同的超时行为?