我正在尝试对 SOAP API 进行一些测试,但执行时间非常慢。我做了一些挖掘,发现它是 SoapClient 构造函数,它需要永远执行。我还尝试使用代理来查看它是否是由它产生的 http 查询,但是这个查询的执行速度相对较快。它在查询之后徘徊了大约 30 秒。
这是一个 kcachegrind 截图供参考:
这是 Charles Proxy 中的 WSDL 查询:
几个月前这里也报告了同样的问题:
PHP:SoapClient 构造函数非常慢(需要 3 分钟)
但他没有得到答案。
任何建议将不胜感激。
编辑:
启动 SoapClient 的代码部分(这是 NetSuite PHP 工具包的一部分)
$this->client = new SoapClient( $host . "/wsdl/v" . $endpoint . "_0/netsuite.wsdl",
array( "location" => $host . "/services/NetSuitePort_" . $endpoint,
"trace" => 1,
"connection_timeout" => 5,
"typemap" => $typemap,
"user_agent" => "PHP-SOAP/" . phpversion() . " + NetSuite PHP Toolkit " . $version
)
);