Since a certain PHP version (I think it's 5.2.5) it is no longer possible to override INI entrys set with php_admin_* in httpd.conf. The access level will be set to 4 (PHP_INI_SYSTEM), which is also returned by this function.
The constants mentioned below are available in PHP, but without the prefix (e.g. INI_USER, INI_PERDIR).
ini_get_all
(PHP 4 >= 4.2.0, PHP 5)
ini_get_all — すべての設定オプションを得る
説明
array ini_get_all
([ string $extension
[, bool $details = true
]] )
すべての登録済み設定オプションを返します。
パラメータ
- extension
-
オプションで指定する拡張モジュール名。指定した場合は、 その拡張モジュールに関するオプションのみを返します。
- details
-
詳細な設定を取得するか、あるいは各設定の現在の値のみを取得するか。 デフォルトは TRUE (詳細情報を取得する) です。
返り値
ディレクティブ名をキーとする連想配列を返します。
details が TRUE (デフォルト) の場合、 配列の値は、 global_value (php.iniで設定されている)、 local_value (おそらくini_set()または .htaccessでセットされている)、access (アクセスレベル) を含む配列となります。
details が FALSE の場合、 配列の値はそのオプションの現在の値となります。
アクセスレベルの意味についてはマニュアルを参照ください。
注意: ひとつのディレクティブに複数のアクセスレベルを設定することができます。 access がビットマスク値となっているのはそのためです。
変更履歴
| バージョン | 説明 |
|---|---|
| 5.3.0 | details が追加されました。 |
例
例1 ini_get_all() の例
<?php
print_r(ini_get_all("pcre"));
print_r(ini_get_all());
?>
上の例の出力は、 たとえば以下のようになります。
Array
(
[pcre.backtrack_limit] => Array
(
[global_value] => 100000
[local_value] => 100000
[access] => 7
)
[pcre.recursion_limit] => Array
(
[global_value] => 100000
[local_value] => 100000
[access] => 7
)
)
Array
(
[allow_call_time_pass_reference] => Array
(
[global_value] => 0
[local_value] => 0
[access] => 6
)
[allow_url_fopen] => Array
(
[global_value] => 1
[local_value] => 1
[access] => 4
)
...
)
例2 details を無効にする例
<?php
print_r(ini_get_all("pcre", false)); // PHP 5.3.0 で追加されました
print_r(ini_get_all(null, false)); // PHP 5.3.0 で追加されました
?>
上の例の出力は、 たとえば以下のようになります。
Array
(
[pcre.backtrack_limit] => 100000
[pcre.recursion_limit] => 100000
)
Array
(
[allow_call_time_pass_reference] => 0
[allow_url_fopen] => 1
...
)
参考
- 設定を変更するには
- ini_get() - 設定オプションの値を得る
- ini_restore() - 設定オプションの値を元に戻す
- ini_set() - 設定オプションの値を設定する
- get_loaded_extensions() - コンパイル/ロードされている全てのモジュールの名前を配列として返す
- phpinfo() - いろいろな PHP 情報を出力する
ini_get_all
root at mantoru dot de
21-Jan-2008 09:33
21-Jan-2008 09:33
justd@ntmailme
20-Dec-2002 04:15
20-Dec-2002 04:15
I guess the third entry is the required access level (to change this variable at runtime):
Constant Value Meaning
PHP_INI_USER 1 Entry can be set in user scripts
PHP_INI_PERDIR 2 Entry can be set in php.ini, .htaccess or httpd.conf
PHP_INI_SYSTEM 4 Entry can be set in php.ini or httpd.conf
PHP_INI_ALL 7 Entry can be set anywhere
See also the docs for ini_set()
Hugo.
