在和朋友详细理解了项目的运行环境后,终于查明了访问速率慢的缘故原由。
项目的运行环境是在windows环境下,而php.ini下的关于soap的访问参数有以下几个:
php.ini下的soap节,关于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文件。