
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で質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- PHP どうして送信されないのでしょうか? 1 2022/12/09 05:23
- PHP PHP MySql ページング 2 2022/09/20 06:38
- MySQL #1062 - '0' は索引 'PRIMARY' で重複しています。とでています。 1 2023/01/01 06:13
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP アコーディオンPHPが上手くいかない 3 2022/07/15 16:29
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フォントの色を変えるには?
-
PHPでネットワークドライブのop...
-
PHPで、エラーがない場合のみ画...
-
PHPでメールを送るために
-
「@$変数」の「@の意味は?」
-
ある条件に当てはまったときに...
-
【PHP】pearのインストール時の...
-
PHPエラー
-
エラーの意味!
-
ワーニングの非表示について
-
MovePrevious関数について
-
rename関数 できない
-
これは例外処理でしょうか?
-
PEAR::setErrorHandlingで戻り...
-
bindValueエラー
-
PHPのheader関数の疑問
-
SELECTの値を保持する
-
pchartというグラフ生成ライブ...
-
PHP関数 mb_strlenでエラーになる
-
自分のサーバーでのみstrtotime...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フォントの色を変えるには?
-
トランザクションが原因?DBに...
-
PHPでfatal errorが出ても無視...
-
iframeからのアクセスか、ブラ...
-
PHP8を使うと、大量のWarningが...
-
パースエラーとは?
-
PHPで、エラーがない場合のみ画...
-
error_reporting(0);にも関わら...
-
PHPにて外部サイト内容が取得不...
-
「@$変数」の「@の意味は?」
-
PHPでネットワークドライブのop...
-
PHPで特定のURLにジャンプす...
-
phpのrenameでエラーが出ます
-
ある条件に当てはまったときに...
-
「file_get_contents」で「HTTP...
-
PostgreSQLへのinsert処理
-
正規表現での最後尾のバックス...
-
require_once で読み込まれたか?
-
awsにApacheとPHPを入れて、何...
-
IIS/PHPのサイトでたまにCGIエ...
おすすめ情報