如何在当前环境中生成 php.ini 文件?

如何在当前环境中生成 php.ini 文件?

对于我正在运行的一些 PHP-FPM Web 应用程序,我需要设置 cronjobs。目前它们使用 CLI 默认设置php.ini

是否有一种简单的方法(例如脚本)可以php.ini从当前环境中生成一个新的?

我想php.ini在 cronjobs 中使用这些自动生成的文件(例如php -c /srv/foo/php.ini -f /srv/foo/cron.php

当然,我可以手动完成,复制 FPM 默认配置,然后手动将覆盖的值替换为 PHP-FPM 池配置的设置,但这需要花费数周的时间进行复制和粘贴。

答案1

你可以通过运行类似下面的命令来编写动态的 php.ini

<?php 
$s = array();
foreach(ini_get_all() as $k=>$v) {
     if ($v['local_value'] || $v['global_value']) {
        $s[] = sprintf("%s = %s", $k, $v['local_value']?$v['local_value']:$v['global_value']);
    }
}

file_put_contents("out.ini", join("\n", $s));
?>

相关内容