frankenphp 更新默认不覆盖配置文件:包管理器升级保留原配置并生成.dpkg-dist或.rpmnew备份;二进制替换不触碰配置;caddyfile位于项目目录不受影响;仅人为执行frankenphp install等命令才可能覆盖。

不会自动覆盖。
FrankenPHP 的更新行为取决于安装方式,但默认不覆盖已有配置文件,这是它与传统 PHP 包管理的重要区别之一:
- 通过包管理器(如
apt)升级时,系统会保留/etc/frankenphp/frankenphp.yaml等配置文件,并将新版本的默认配置保存为.dpkg-dist或.rpmnew后缀(例如frankenphp.yaml.dpkg-dist),供你手动比对合并; - 使用二进制直接下载替换(如
frankenphp-linux-x86_64)时,它本身不写入系统路径,配置文件完全由你指定(比如通过-c /path/to/config.yaml启动),因此根本不存在“覆盖”一说; - Caddyfile 风格的配置(常见于 standalone 场景)通常放在项目目录下,更新 FrankenPHP 二进制时只需替换可执行文件,Caddyfile 始终保持原样。
需要特别注意的是:
✅ 配置文件路径、权限、内容均由你控制,FrankenPHP 启动时只读取,不生成也不修改;
⚠️ 但如果你用 frankenphp install(某些发行版提供的初始化命令)或脚本自动重写配置,则可能覆盖——这属于人为操作,不是升级本身的默认行为。
建议做法是:
- 把配置文件纳入版本管理(如 Git);
- 升级前执行
diff对比新旧配置模板; - 对关键字段(如
workers.count、php.ini_path、script_path)做人工校验。
基本上就这些。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











