file_get_contentsでhttp://から指定したURLを読み込む時に、読み込みたいページからレスポンスがないと、プログラムがそこで止まってしまう。
デフォルトの設定だと60秒とかになってるんで、まあ、待つ人おらんよね。
今回はタイムアウトする時間を変更して対応した。
- //後で戻せるように設定を取得しておく
- $org_timeout = ini_get('default_socket_timeout');
- //5秒以上かかったらタイムアウトする設定に変更
- $timeout_second = 5;
- ini_set('default_socket_timeout', $timeout_second);
- $data = file_get_contents($url);
- //設定を戻す
- ini_set('default_socket_timeout', $org_timeout);
ini_set以外の方法を教えてくれているページがありましたので、参考に↓
[PHP]file_get_contentsのタイムアウトの制御とかレスポンスヘッダのバッドノウハウ
0 件のコメント:
コメントを投稿