ini_get_all() - php 选项信息函数
ini_get_all()
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
获取所有配置选项
说明
ini_get_all([string $extension[,bool $details= true]]): array获取所有已注册的配置选项
参数
$extension可选的扩展名称。如果设置了,此函数仅仅返回指定该扩展的选项。
$details获取详细设置或者仅仅是每个设置的当前值。默认是TRUE
(获取详细信息)。
返回值
返回一个关联数组,指令名称是数组的键。
当$details为TRUE
(默认),数组会包含global_value(php.ini中的设置)、local_value(可能是ini_set()或.htaccess中的设置)以及access(访问级别)。
当$details为FALSE
,这个值会是选项的当前值。
参见手册章节中访问级别含义的信息。
Note:指令可以有多个访问级别,这也是为什么access会显示适当的位掩码。
注释
Note:ini_get_all()忽略"array"的 ini 选项,例如 pdo.dsn.*。
更新日志
版本 | 说明 |
---|---|
5.3.0 | 增加参数$details。 |
范例
Example #1ini_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 ) ... )
禁用$details
以上例程的输出类似于:
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()
返回所有编译并加载模块名的 arrayphpinfo()
输出关于 PHP 配置的信息- ReflectionExtension::getINIEntries() 获取ini配置
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.
echo recreate_php_ini(); /** * Sample function to re-create a php ini config file. * * @return string */ function recreate_php_ini() { $a = ini_get_all(); $data = []; foreach (array_keys($a) as $k) { $ss = split("\.", $k); if (count($ss) == 1) { $sec = "PHP"; $v = $k; } else { $sec = $ss[0]; $v = $ss[1]; } $data[$sec][$v] = $a[$k]['global_value']; } ksort($data); $out = ""; foreach ($data as $sec => $data) { $out .= "[$sec]\n"; ksort($data); foreach ($data as $k => $v) { if (is_numeric($v)) { $out .= sprintf("%-40s = %s\n", $k, $v); } else { $out .= sprintf("%-40s = \"%s\"\n", $k, $v); } } $out .= "\n"; } return $out; }
If you want to load and parse your own ini file, have a look at parse_ini_file() function. Example:
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).
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)