
PHPにて外部サイトの情報を取得しています。
数年前に作成し、問題なく取得できていたのですが
ここ数週間、タイムアウトとなってしまいます。
file($URL)で取得しているのですが、下記のエラーとなります。
<b>Warning</b>: file($URL): failed to open stream: Connection timed out in <b>XXX.php</b> on line <b>29</b><br />
色々なサイトで試したのですが、どれもエラーとなります。
※ブラウザで直接入力すればすぐにアクセスできます
レンタルサーバですがサーバサイドに確認したところ原因不明。
PHPのバージョンが [PHP 5.2.17]でした。
サーバサイドがバージョンアップ推奨とのアナウンスがでていたので
[PHP 5.5.8]としましたが、一向にエラーのままです。
調査観点等、ございましたら教えて下さい。
宜しくお願い致します
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
エラーと直接関係ないですが、「file」じゃなくて「file_get_contents」の方が目的に合っていませんか…?
PHP Manual - file
http://www.php.net/manual/ja/function.file.php
PHP Manual - file_get_contents
http://www.php.net/manual/ja/function.file-get-c …
そして「file_get_contents」の代替として使えるcURL関数群を使えば、とりあえずエラーは回避出来る可能性があります。
ob_start();
curl_exec(curl_init($URL));
$data = ob_get_clean();
もしくは
$ch = curl_init($URL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
この回答への補足
ご回答有難うございました。
確かにアドバイスのコードの方が良さそうですね。
他の方の補足にも記載したのですが、
やっかいなのは、たまに何事もなく取得できていることです。
特定サイトのみ繋がらない状態であれば、そのサイトがメンテ中等あるかと
思うのですが、繋がらない時間はどんなサイトも取得できません。
googleやyahooも。
レンタルサーバなので、サーバサイドの設定を疑っているのですが
問い合わせても問題ないの回答です。。
現在、エラーとなる状態でして、アドバイス頂いたコードでも
Internal Server Error
となりました。
常時繋がる状態がベストなのですが、繋がる状態で試せたら再度試してみます。
他にも思い当たる点、ございましたらアドバイスお願い致します。
No.2
- 回答日時:
$URLのサイトは今でも有効なのでしょうか?
そこはテストしてみたほうがいいかもですよね。
あと、別の、www.google.co.jpでもいいので、別アドならどうなるかとか。
その関数がなぜそのエラーを出したかを突き止めるのが、
先だとおもわれます。
この回答への補足
ご回答有難うございました。
質問にも記載してますが、
色々なサイトで試してますが、繋がらない状態の時は
すべてエラーとなってしまいます。
やっかいなのは、たまに何事もなく取得できていることです。
特定サイトのみ繋がらない状態であれば、そのサイトがメンテ中等あるかと
思うのですが、繋がらない時間はどんなサイトも取得できません。
googleやyahooも。
レンタルサーバなので、サーバサイドの設定を疑っているのですが
問い合わせても問題ないの回答です。。
他にも思い当たる点、ございましたらアドバイスお願い致します。
No.1
- 回答日時:
この回答への補足
ご回答有難うございました。
参考URLは確認しておりまして
●原因1:ファイル名を間違えている
単純な原因です。
>あってます。
●原因2:ファイル名(パス)に「¥」が含まれる
ファイル名(パス)に「¥」が含まれると、そのファイルをうまく開くことができません。
>問題無いです。
●原因3:外部URLを開けない設定になっている
php.iniの設定が「allow_url_fopen = Off」
>ONになっています。
やっかいなのは、たまに何事もなく取得できていることです。
特定サイトのみ繋がらない状態であれば、そのサイトがメンテ中等あるかと
思うのですが、繋がらない時間はどんなサイトも取得できません。
googleやyahooも。
レンタルサーバなので、サーバサイドの設定を疑っているのですが
問い合わせても問題ないの回答です。。
他にも思い当たる点、ございましたらアドバイスお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PHPでネットワークドライブのop...
-
Warning: Invalid argument sup...
-
ロリポップでincludeできない。
-
トランザクションが原因?DBに...
-
imagecreatefromjpeg使用時のメ...
-
phpでget_headers()が使えない?
-
「@$変数」の「@の意味は?」
-
拡張子PHP3のスクリプトを...
-
phpのheader("Location:#pos")...
-
PHPのif文でその処理を途中で抜...
-
.phpと.incファイルの違いはな...
-
*.php、*.php3、*.phtmlの違い
-
Prompt入力値をphp変数として取...
-
フォームで戻った際に入力済み...
-
ZendFrameworlkでZend_Session...
-
リンク先を隠す方法はないでし...
-
ImageCreate関数が undefined f...
-
phpのコードがそのまま文字列と...
-
CFileDialogの最初のディレクト...
-
class.upload.phpの戻り値(返...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォントの色を変えるには?
-
PHPでネットワークドライブのop...
-
トランザクションが原因?DBに...
-
PHPでfatal errorが出ても無視...
-
「@$変数」の「@の意味は?」
-
PHP8を使うと、大量のWarningが...
-
PHPで、エラーがない場合のみ画...
-
関数の引数に未定義の変数を渡...
-
PHPにて外部サイト内容が取得不...
-
@fileとは
-
phpのエラー(T_LNUMBER)について
-
php7のhtmlentitiesはEUC-JPを...
-
SELECTの値を保持する
-
\\x00 でエラー
-
ある条件に当てはまったときに...
-
bindValueエラー
-
require_once で読み込まれたか?
-
Localeクラスについて
-
パースエラーとは?
-
error_reporting(0);にも関わら...
おすすめ情報