soap缓存问题
问题描述: ws提供方在原有基础上增加了一个方法,通过php的soap扩展硬是获取不到该方法,提示,该方法不存在。
问题跟节: soap缓存问题,导致无法获取最新的ws文件信息
解决办法: 1、直接在当前php文件中增加配置 ini_set("soap.wsdl_cache_enabled", "0");
2、打开配置文件php.ini soap.wsdl_cache_enabled=1; //1开启 0关闭,直接设置为关闭状态,重启php服务器
3、找到soap生成缓存文件的目录,将已生成的文件全部删掉
总结: 既然soap自带有缓存功能,我们何尝不正确使用呢,所以,建议大家采用第三种方案来解决问题,前两种都直接关闭了soap缓存功能,并不太科学。
ini_set('default_socket_timeout', 5); //socket流的超时参数(秒值),即socket流从建立到传输再到关闭整个过程必须要在这个参数设置的时间以内完成,如果不能完成,那么PHP将自动结束这个socket并返回一个警告