对于我正在运行的一些 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));
?>