文字

ini_get_all

(PHP 4 >= 4.2.0, PHP 5, PHP 7)

ini_get_all获取所有配置选项

说明

array ini_get_all ([ string $extension [, bool $details = true ]] )

获取所有已注册的配置选项

参数

extension

可选的扩展名称。如果设置了,此函数仅仅返回指定该扩展的选项。

details

获取详细设置或者仅仅是每个设置的当前值。 默认是 TRUE (获取详细信息)。

返回值

返回一个关联数组,指令名称是数组的键。

details TRUE (默认),数组会包含 global_valuephp.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
    ...
)

参见

  • 怎样修改配置设定
  • ini_get() - 获取一个配置选项的值
  • ini_restore() - 恢复配置选项的值
  • ini_set() - 为一个配置选项设置值
  • get_loaded_extensions() - 返回所有编译并加载模块名的 array
  • phpinfo() - 输出关于 PHP 配置的信息
  • ReflectionExtension::getINIEntries() - Gets extension ini entries

用户评论:

[#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.

上一篇: 下一篇: