【问题标题】:How can i check, is SoapClient use cached wsdl or not?我如何检查 SoapClient 是否使用缓存的 wsdl?
【发布时间】:2018-10-31 23:35:51
【问题描述】:

我使用SoapClient。我从 API 提供者那里得到消息,我的源在每次请求时都请求 wsdl。但是我看到在 /tmp 中执行后出现带有 wsdl 数据的文件,我想这是缓存。

我如何检查缓存是否真的被使用了? API 使用 https,所以我不能使用 tcpflow 之类的东西来检查。

当然我可以使用一些纯 php soap 实现并使用调试器,但此时我不想这样做。

应该使用缓存。 API 管理员说我不使用缓存并创建太多负载。但我无法检查我这边是否属实。还有我的问题 - 我该如何检查?

【问题讨论】:

    标签: php caching soap https


    【解决方案1】:

    如果您将此选项传递给您的 SoapClient,您可以确定没有使用缓存。

    'cache_wsdl' => WSDL_CACHE_NONE
    

    或者,如果您想要缓存,您可以使用以下任一选项:

    WSDL_CACHE_DISK
    WSDL_CACHE_MEMORY
    WSDL_CACHE_BOTH
    

    【讨论】:

    • 但是应该使用缓存。 API 管理员说我不使用缓存并创建太多负载。但我无法检查我这边是真是假。
    • 已更新,请尝试添加以下选项之一以确保您正在使用缓存
    【解决方案2】:

    要检查您的缓存是否真的被使用,您应该监控您的网络流量。 您有多种选择,我更喜欢使用记录所有流量的 HTTP(s) 代理。

    当缓存被禁用时,您应该已经在 tcpflow 中看到您的请求(但看不到它的内容)。

    【讨论】:

      猜你喜欢
      • 2013-06-18
      • 2011-02-21
      • 1970-01-01
      • 1970-01-01
      • 2017-09-04
      • 1970-01-01
      • 2011-05-06
      • 2021-12-26
      • 2012-03-01
      相关资源
      最近更新 更多