在和朋友详细理解了项目的运行环境后,终于查明了访问速率慢的缘故原由。

项目的运行环境是在windows环境下,而php.ini下的关于soap的访问参数有以下几个:

php.ini下的soap节,关于soap的访问设置

phpwebservice接口解决php下拜访webservice慢的办法 Java

这是配置指令的简短解释。

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文件。