勉強したことのメモ

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

  関連記事

PHPでテンプレートPDFにリンク付きの文字を追記する方法(TCPDF&FPDI)
PHPでテンプレートPDFにリンク付きの文字を追記する方法(TCPDF&FPDI)

以前、PHPのTCPDF&FPDIを用いてテンプレートPDFに対し、動的 ...

Codeigniter3で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法
Codeigniter3で外部ファイル(CSS / JS)の読み込みと共通パーツ化する方法

CodeigniterでCSSやJSファイル等の外部ファイル読み込みたかった。ま ...

PHP8系の環境でdBug.phpライブラリが使用できない場合の対応方法
PHP8系の環境でdBug.phpライブラリが使用できない場合の対応方法

先日メモしたdBug.phpをPHP8系の環境で試すと動作しなかった。ただエラー ...

CodeIgniter4でCronを実行する方法
CodeIgniter4でCronを実行する方法

CodeIgniter4.4.4で特定の処理をCronで自動実行させたい。以下に ...

JavaScript / PHPにて「lz-string」を用いてデータの圧縮・展開する方法
JavaScript / PHPにて「lz-string」を用いてデータの圧縮・展開する方法

文字数が多いGETパラメータを送信したいというケースがあった。また、送信側はJa ...