【发布时间】:2018-08-29 18:55:12
【问题描述】:
我不得不在旧的 PHP 5 服务器上做一些考古工作。我一直在挖掘 ini 文件,我发现检查哪些设置具有非默认值会非常方便。我发现了php --ini 和php -r 'php_info();' 和其他变体,以及ini_get_all() function,它们可以显示在php ini 文件中设置的值和任何覆盖的值(例如来自.htaccess 或ini_set)。
php.net 文档描述了默认设置for every ini directive。有没有办法从 PHP 代码中访问这些默认值?这样我就可以对ini_get_all 的返回值进行一些简单的数组操作,并找出哪些具有非默认值。
我正在查看ini_restore,给出的示例读起来好像它只恢复到启动值,即在 ini 文件中配置的值,而不是 php 默认值。
【问题讨论】:
-
您可以重新下载有问题的 PHP 版本,并对新文件与当前使用的文件进行比较。请注意,在某些时候 PHP 开始提供 ini 文件的开发和生产版本,因此请在当前 ini 中寻找线索,看看它是否显示“开发”或其他内容。
-
此外,您可以将当前的 ini 文件重命名为
php.ini以外的其他名称并重新启动 PHP,以便ini_get_all将为您提供嵌入核心的值并在您的上使用parse_ini_file()重命名文件。 -
这个想法很愚蠢...如果您要使用输出黄油捕获 php_info,那么您可以使用 simplexml 找到具有值/默认值的表并对其进行解析。
标签: php configuration ini php-ini