前言:
现在兄弟们对“php怎么对接wsdl接口”可能比较关心,兄弟们都需要剖析一些“php怎么对接wsdl接口”的相关文章。那么小编也在网络上网罗了一些有关“php怎么对接wsdl接口””的相关文章,希望你们能喜欢,大家一起来了解一下吧!最近朋友有个项目用到了webservice,但是在访问的时候超级慢,慢到难以忍受,第二次访问的时候速度虽然快很多了,但是访问速度还是明显偏慢。webservice效率是有点低,但是不至于此啊!
在和朋友详细了解了项目的运行环境后,终于查明了访问速度慢的原因。
项目的运行环境是在windows环境下,而php.ini下的关于soap的访问参数有以下几个:
这是配置指令的简短说明。
soap.wsdl_cache_enabled
integer
启用或禁用wsdl缓存功能:1:启用,0:禁用。
soap.wsdl_cache_dir
string
设置缓存文件的缓存目录。
soap.wsdl_cache_ttl
integer
缓存文件的有效期,超出有效期将重新获取wsdl缓存,时间单位:秒。
soap.wsdl_cache
integer
如果启用了wsdl缓存功能,此设置决定了缓存的类型:
WSDL_CACHE_NONE (0) //不缓存
WSDL_CACHE_DISK (1) //硬盘缓存
WSDL_CACHE_MEMORY (2) //内存缓存
WSDL_CACHE_BOTH (3) //硬盘和内存缓存
soap.wsdl_cache_limit
设定最大可以缓存的wsdl的个数,根据项目实际情况设定。
由于php.ini的默认缓存目录/tmp在windows环境下是不存在的,导致wsdl无法缓存,从而每次从服务端获取wsdl文件,引起调用服务时很慢。
将此处设置为windows下正确的访部路径,即可解决访问服务慢的问题。
在项目调试阶段,可以禁用缓存,以便service端变更,由于缓存问题引起无法及时更新的问题发生。
在生产环境下,再打开缓存,但是要注意,当服务端变更时,要注意清除缓存的wsdl文件。
标签: #php怎么对接wsdl接口