©
This document uses PHP Chinese website manual Release
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
ini_get_all — 获取所有配置选项
$extension
[, bool $details
= true
]] )获取所有已注册的配置选项
extension
可选的扩展名称。如果设置了,此函数仅仅返回指定该扩展的选项。
details
获取详细设置或者仅仅是每个设置的当前值。 默认是 TRUE
(获取详细信息)。
返回一个关联数组,指令名称是数组的键。
当 details
为 TRUE
(默认),数组会包含 global_value(php.ini 中的设置)、local_value(可能是 ini_set() 或 .htaccess 中的设置) 以及 access(访问级别)。
当 details
为 FALSE
,这个值会是选项的当前值。
参见手册章节中访问级别含义的信息。
Note:
指令可以有多个访问级别,这也是为什么 access 会显示适当的位掩码。
版本 | 说明 |
---|---|
5.3.0 |
增加参数 details 。
|
Example #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 ) ...)
Example #2 禁用 details
<?php
print_r ( ini_get_all ( "pcre" , false )); // Added in PHP 5.3.0
print_r ( ini_get_all ( null , false )); // Added in PHP 5.3.0
?>
以上例程的输出类似于:
Array ( [pcre.backtrack_limit] => 100000 [pcre.recursion_limit] => 100000 ) Array ( [allow_call_time_pass_reference] => 0 [allow_url_fopen] => 1 ... )
[#1] root at mantoru dot de [2008-01-21 13:33:48]
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).
[#2] justd@ntmailme [2002-12-20 08:15:06]
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.