- ベストアンサー
php file()で外部サーバのファイルを読もうとするとWarning: file(http://xyz...)エラーが発生する
- 使用しているパソコンの特定の機種で、php file()を使用して外部サーバのファイルを読み込もうとすると、Warning: file(http://xyz...)というエラーが発生します。
- このエラーは、ローカルPCの内部でファイルを読み込む場合には発生せず、ホームページを公開しているサーバーや別のPCでの実行でもエラーは発生しません。
- 問題のPCでエラーが出るようになったのは、ある特定の機種を使わない期間が経過した後です。解決策は不明ですが、原因を探ることで解決の糸口が見つかるかもしれません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
XAMPってことはWindows。 Windowsのファイヤーウォールなり、セキュリティソフトなりが、外部へのアクセスを遮断していて読み込めない可能性は?
その他の回答 (3)
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
エラー内容が文字化けしているということですから、 file()で発生するwarningの原因を、何が問題かわからないまま手探りで あれこれやるより、さきにエラー内容の文字化けを直して、エラーメッセージを 確認した方が良いと思います。 ブラウザのエンコーディング設定を変更するだけで文字化け解決しませんか? また、ローカルで正常に動作するPCのhttpd.conf、php.iniとの比較をしてみるなど。
補足
naktakさん、貴重なレスをありがとうございます。 >ブラウザのエンコーディング設定を変更するだけで文字化け解決しませんか? そうですよね。試してみる必要がありました。 しかし、本日帰宅しまして、このトラブルに悩んでいるPCは職場のものでして、そのPCがありません。 土日と、職場へ行くことはありません。月曜日には是非ともこの辺りも調べてみます。 どうも、貴重なレスをありがとうございました。
- php504
- ベストアンサー率42% (926/2160)
エラー文を読むと解決の糸口になるかも知れません Warning:の後にはなんと書いてあったのでしょうか
補足
php504さん、今晩は。 レスありがとうございます。 エラーメッセージですが、読み込むことのできないファイルパスの表示の次は文字化けしていまして、読むことができません。 ファイルのパス名までは、半角文字なので読むことができます。 初めにこのことも記載しておけば良かったのですが、どうもすみません。
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
PHPの設定で以下を確認してみましょう。 allow_url_fopen = On ← OffだとURL指定のファイルはオープンできません あとはっきりとは覚えていませんが、 safe_mode が On だと、ダメかもしれません。 http://jp2.php.net/manual/ja/function.file.php http://jp2.php.net/manual/ja/filesystem.configuration.php#ini.allow-url-fopen
お礼
naktakさん今日は。 早速お返事ありがとうございます。 phpinfo()で早速調べてみました。 Directive Local Value Master Value allow_url_fopen On On safe_mode Off Off でした。 と、いうことで原因が異なるような気がしますが。 どうも貴重な情報をありがとうございました。
補足
kalzeさん、お早うございます。 おっしゃるとおり、Windowsです。 >Windowsのファイヤーウォールなり、セキュリティソフトなりが、外部へのアクセスを遮断していて この辺りのことも疑ってみまして、調べたのですが良くわかりませんでした。 でも、この線が一番疑わしいことになるのでしょうか。 外部への参照ができない訳ですからルーターの設定なんてことも関係するのでしょうか。 phpがfile()で参照するときある特定のポートを使っていると言うようなことがあるのでしょうか。