我是PHP新手。经过大量搜索,我设法以某种方式使用由Java创建的PHP Web服务,但问题在于SoapClient类的构造函数非常缓慢。这里是我的PHP代码:PHP:SoapClient构造函数非常慢(需要3分钟)
<?
require_once('SOAP/Client.php');
$url = "http://127.0.0.1:8024/_RS?wsdl";
$sc = new SoapClient($url);
?>
这需要长达3分钟的一些时间。我不知道问题是什么。在创建构造函数后,我可以在1秒内在for
循环中使用它50次,所以我非常肯定构造函数是减慢我的代码的部分。
您认为是什么导致了这个问题?
预先感谢您。
PS: 在我的其他问题的更多信息: https://stackoverflow.com/questions/5929669/call-a-wsdl-web-service-created-by-java-from-nushphere-phped
PPS: 正如AJ建议,我用了XDebug和kcachegrind来分析这个问题。正如你所看到的,我是对的。这里的图片:
谢谢。如果您找到解决方案,请告诉我。 – 2012-03-09 07:55:07
我设法添加标题 - 但徒劳无功。 Php的SoapClient仍然希望花费60秒来兑现WSDL,并且60秒钟缓存XSD。 – 2012-03-09 08:25:21
哈哈,将“default_socket_timeout”设置为5会将缓存降低到10秒 - 看起来差异可能在于处理与Tomcat和Endpoint.publish(....)不同的连接(谁终止它)。 – 2012-03-09 08:26:24