2013-12-09 75 views
0

我有一個PHP肥皂web服務和perl腳本,需要調用它。php肥皂服務器無法到達本地主機

但它返回錯誤

Parsing WSDL: Couldn't load from 'http://xxxxxx:8888/index.php/backup/index' : 
failed to load external entity "http://xxxxxx:888/index.php/backup/index" 

xxxxx是我的服務器的動態主機名。

如果我叫從本地主機與

$client=new SoapClient('http://localhost:8888/index.php/backup/index',array('trace' => 1)); 

的Web服務如果工作正常,但如果我嘗試

$client=new SoapClient('http://xxxx:8888/index.php/backup/index',array('trace' => 1)); 

它給了我這個錯誤。

所以問題是遠程腳本與他的主機名稱調用Web服務,並且Web服務無法解決....我怎麼能解決這個問題?

+1

聽起來像是一個防火牆問題。你可以通過瀏覽器訪問網址嗎? –

+0

澄清...兩個電話都來自我的本地主機。我可以毫無問題地訪問該網站。問題在於,在遠程請求之後,Soap服務器嘗試使用url訪問「他自己」。 – Grey

回答

0

發現問題。它位於yii類的CWebService中。 似乎無法解析本地主機的名稱......如果從外部主機調用,它總是會失敗。

我解決它迫使名稱服務器在/ etc /主機的IP,像

127.0.0.1 www.website.com