サードパーティのサーバーからリモートの動的 XML ファイルを GAE-PHP アプリケーションにロードしたいと考えています。
$itemId = 5;
$uri = "http://www.myserver.com/getInfoItem.php?itemId={$itemId}&format=xml";
simplexml_load_file 関数を使用して XML 情報を読み込もうとしました。
if ($xmlItem = simplexml_load_file($uri)) {
// Code dealing with the XML info
}
しかし、それは常にこのエラーにつながります:
PHP Warning: simplexml_load_file(): I/O warning : failed to load external entity "..."
そこで、コードを変更し、XML を一般的なテキスト ファイルとして読み込もうとしました。このようにして、期待どおりに動作します。
if ($fileContents = file_get_contents($uri)) {
$xmlItem = simplexml_load_string($fileContents);
// Code dealing with the XML info
}
2 つの関数が同じhttp wrapperを使用してリモート コンテンツを取得すると考えていましたが、このようには機能しないようです。GAE URL Fetchのドキュメントも参照しました。
私の質問は次のとおりです。最初のアプローチが機能しないのはなぜですか? 何か不足していますか?