勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

file_get_contentsを使用する際にタイムアウト設定する方法

   2026/09/25  PHP

自動でリロードするページ内でfile_get_contentsを使っており、そのような場合はタイムアウト設定を行ったほうがいいと聞いた。以下に対応方法をメモ。

 

対応方法

ソースコード

# 既存のタイムアウト設定を取得
$timeout = ini_get('default_socket_timeout');

# 一時的にタイムアウト設定を10秒に変更
ini_set('default_socket_timeout', 10);

# APIにリクエスト
$data = file_get_contents('https://api.com/');

# タイムアウト設定を元の状態に戻す
ini_set('default_socket_timeout', $timeout);

 

リファレンス

ini_get

https://www.php.net/manual/ja/function.ini-get.php

ini_set

https://www.php.net/manual/ja/function.ini-set.php

 - PHP

  関連記事

phpdotenvライブラリを使用してPHPで.envファイルを読み込ませる方法
phpdotenvライブラリを使用してPHPで.envファイルを読み込ませる方法

CodeIgniterを勉強していた際に各種設定は「.env」というファイルに記 ...

PHPで外部のAPIにリクエストする際に並列処理(非同期実行)する方法
PHPで外部のAPIにリクエストする際に並列処理(非同期実行)する方法

あるシステムからPHPで外部のAPIにリクエストしたかった。ただ、複数回リクエス ...

PHPでGoogle翻訳を手軽に扱えるライブラリ「google-translate-php」の利用方法
PHPでGoogle翻訳を手軽に扱えるライブラリ「google-translate-php」の利用方法

サイト内で一部テキストのGoogle翻訳を行いたい。ただ、Google Clou ...

mpdfで「The /e modifier is …」エラー発生時の対応方法
mpdfで「The /e modifier is …」エラー発生時の対応方法

pdf関連のPHPライブラリ「mPDF」を使っているページがエラーログにのってお ...

CodeIgniter3でファイルキャッシュする方法
CodeIgniter3でファイルキャッシュする方法

CodeIgniterでファイルキャッシュが楽に導入できた。そこそこ使いそうなの ...