人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

[PHP]simplexml_load_fileについての質問です。

simplexml_load_fileを利用してXMLをパースしていますが、&quotが入っているとエラーメッセージから読み取れますが、URL文字列内に"は利用されていません。

【ソース抜粋】
$gotten_items = simplexml_load_file('http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch?appid=XXXXXXX&start=1&query=XXXX');
var_dump($gotten_items);

と入力すると、Apacheのerror_logに以下のようなエラーが表示されます。

【error_log抜粋】
[Mon Jun 25 23:05:57 2007] [error] [client XXX.XXX.XXX.XXX] PHP Warning: simplexml_load_file() [<a href='function.simplexml-load-file'>function.simplexml-load-file</a>]: I/O warning : failed to load external entity &quot;http://api.search.yahoo.co.jp/WebSearchService/V1/webSearch?appid=XXXXXXX&start=1&query=XXXXXX&quot; in XXXX

【実行方法による違い】
・コマンドラインから実行すると正しくされます。Apache経由(ブラウザー)の場合のみ上記エラーが表示されます。
・同一ソースについて、Fodora Core 5の別環境で動作させたところ、そちらのサーバーでは動作しました。
XMLのURL自体が不正であることはないことは確認しております。こういった事象の解決方法をご教授いただければと思います。

【環境】
Fodora Core 5
httpd-2.2.2-1.2
php-5.1.6-1.6


●質問者: shinomichi
●カテゴリ:コンピュータ
✍キーワード:23 Apache Client CORE httpd
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● t_shiono
●60ポイント

同様の構成の別サーバで動作することを考えると、PHPのプログラム的には問題ないのだと思います。

となると、phpまたはサーバの設定によって対象データが取得できないのではないかと思います。具体的には、php.iniの設定(そんな設定があるか未確認です)や、SELinuxが動作していれば、その辺りではないかと思います。

そこで、次のURLのような感じで、まずは、該当データをapacheにアクセスした際のPHPから取得できるかを確認してはいかがでしょうか?

http://q.hatena.ne.jp/1180553984

もし、この方法で動けば、とりあえずの対処法にもつながると思いますので。

明確な回答ではありませんが、何かの参考になれば。

◎質問者からの返答

SELinuxが動作していました。

解決しました。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ