関数の概要
PHPの ini_get_all 関数は、php.iniの設定項目一覧や指定した設定の詳細な情報を取得するために使用されます。これにより、現在のPHP環境の設定状態を確認したり、動的に設定値を調べることが可能です。特に複数の設定情報をまとめて取得したい場合に便利です。
パラメータの説明
extension(string|null) : 省略可能。監視したい拡張モジュール名を指定します。これを指定すると、その拡張モジュールに関連するphp.iniの設定のみが返されます。指定しない場合は全ての設定を取得します。details(bool) : 省略可能。true(デフォルト)を指定すると、設定名ごとに配列で詳細情報(現在値、初期値、表示可能かなど)を返します。falseを指定すると、設定名と現在値のみを返します。
戻り値
ini_get_all は連想配列を返します。キーはphp.iniの設定名で、値は設定ごとの情報です。detailsをtrue にした時は以下のような配列が返されます:
- global_value : 現在のグローバル値
- local_value : 実際に現在使用中の値(スコープにより異なる場合あり)
- access : その設定が読み取り専用か等のアクセスレベル
detailsをfalseにした場合は、各設定名の値が単純な現在値の文字列になります。
使用例
全ての設定情報を詳細に取得する
<?php
$allSettings = ini_get_all();
print_r($allSettings);
?>
引数なしで呼び出すと、全てのphp.iniの設定項目とその詳細を取得できます。デバッグや環境確認に便利です。
特定の拡張モジュールの設定だけ取得する
<?php
$mbstringSettings = ini_get_all("mbstring");
print_r($mbstringSettings);
?>
ここでは「mbstring」拡張モジュールに関連した設定項目のみを取得しています。特定の機能に関する設定を調べたい場合に役立ちます。
詳細情報を省略して現在値のみ取得する
<?php
$simpleSettings = ini_get_all(null, false);
print_r($simpleSettings);
?>
2番目のパラメータに false を渡すことで、設定名とその現在値だけの簡潔な配列が返ります。大量のデータを扱う際に見やすくなります。
特定の設定項目の現在値を確認する例
<?php
$allSettings = ini_get_all();
$maxExecutionTime = $allSettings['max_execution_time']['global_value'] ?? null;
echo "max_execution_time の現在のグローバル値は {$maxExecutionTime} 秒です。";
?>
取得した設定配列から「max_execution_time」の値を抜き出して表示しています。状況に応じた設定値の確認に便利です。
関連する関数
ini_get– 指定したphp.ini設定の現在値を取得するini_set– php.ini設定の値をスクリプト実行中に変更するphpinfo– PHPの設定や環境情報を全体的に表示する
まとめ
ini_get_all関数はPHPの環境設定を一覧で取得できる便利なツールです。全体の設定を把握したり、特定拡張の設定を抽出したり、詳細情報や簡易表示を切り替えられるため、柔軟に利用可能です。PHPの設定値の適切な確認と管理に役立つ関数なので、環境調査やデバッグ時にはぜひ活用しましょう。
