我正在编写一些对 Web 服务进行 SOAP 调用的代码。在服务器端进行更改时,我需要非常频繁地刷新 WSDL,因此我在构造函数的选项中使用了 'cache_wsdl' => WSDL_CACHE_NONE
。服务器端的更改已经解决,我现在想要缓存 WSDL。我对单个请求进行了一些快速计时,看看是否有任何性能提升,但并没有真正看到任何性能提升。我知道 WSDL_CACHE_DISK 会在我的/tmp 目录中保存 wsdl 的副本,这会根据请求保存,这对我来说很有意义。 但我不确定 WSDL_CACHE_MEMORY
或 WSDL_CACHE_BOTH
如何更改行为?wsdl_cache_memory
是否将 xml 或解析后的 wsdl 存储在内存...在请求之间...一天? CLI 和 Web 之间有何不同?我找不到任何有关这些标志如何实际影响行为的文档。
最佳答案
进一步研究..尝试在 php.ini 中设置这些
soap.wsdl_cache_dir [/temp] # make sure this folder is writeable by php (if using disk cache)
# otherwise give the web server access to it
# check what webserver has for user for example _www or www-data
# Example on MAC:
# chown -R $(whoami):_www /temp
soap.wsdl_cache_ttl [seconds] # Time To Live, how long it is cached
关于php - cache_wsdl常量含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46942230/