缘起
PHP的soap使用有相当的时间了,今天随手给系统添加了个功能,通过soap实现的,却出现错误:”Error Fetching http headers”
分析
一般来讲,soap的错误可以先用tcpdump抓包看看请求响应是否正常,于是,抓包观察了一下,没有发现异常;但为什么会出现这种错误呢?百思不得姐。
应该是soapclient中抛出的错误,看看错误处的逻辑吧,翻开源码看了一下,也没有发现异常。
突然灵感就来了,大概是执行时间长所致,其实也不算长,大概5s吧!看了一下soap中关于请求响应超时的设置方式(通过default_socket_timeout 来设置),我才发现这太机器的default_socket_timeout 为 4 ; 修改大一些后,问题解决