我是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