在 Ubuntu 上备份 PHP 配置,核心就是备份相关的配置文件、模块配置和可能的自定义脚本。下面按常见场景给你一个完整、可操作的方案。
Ubuntu 上可能同时有多个 PHP 版本:
php -v
或者:
update-alternatives --display php
通常配置文件路径如下(以 PHP 8.1 为例):
/etc/php/8.1/
php -i | grep "Loaded Configuration File"
示例输出:
Loaded Configuration File => /etc/php/8.1/cli/php.ini
⚠️ 注意:CLI 和 FPM 可能不同
/etc/php/8.1/cli/php.ini/etc/php/8.1/fpm/php.inicp /etc/php/8.1/cli/php.ini /backup/php-cli.ini.bak
cp /etc/php/8.1/fpm/php.ini /backup/php-fpm.ini.bak
sudo tar -czvf php-config-backup.tar.gz /etc/php/8.1
你也可以包含多个版本:
sudo tar -czvf php-config-backup.tar.gz /etc/php
非常重要,容易遗漏 ❗
/etc/php/8.1/fpm/
关键文件:
www.confphp-fpm.confpool.d/*.conf备份示例:
cp -r /etc/php/8.1/fpm /backup/php-fpm-8.1
php -m
/etc/php/8.1/mods-available/
/etc/php/8.1/cli/conf.d/
/etc/php/8.1/fpm/conf.d/
备份模块配置:
tar -czvf php-mods-backup.tar.gz /etc/php/8.1/mods-available
如果你有:
crontab -l > php-crontab.bak
/etc/systemd/system/php*.service
sudo tar -czvf php-full-backup-$(date +%F).tar.gz \
/etc/php \
/var/lib/php \
/usr/local/etc/php 2>/dev/null
解压并覆盖:
sudo tar -xzvf php-full-backup-2026-01-21.tar.gz -C /
然后重启 PHP-FPM:
sudo systemctl restart php8.1-fpm
加入 cron:
0 2 * * * tar -czvf /backup/php-backup-$(date +\%F).tar.gz /etc/php
| 问题 | 说明 |
|---|---|
| 只备份 php.ini | ❌ 会丢模块、FPM 配置 |
| 忘记重启 php-fpm | 配置不生效 |
| 不同 SAPI(CLI/FPM) | 配置是分开的 |
| 升级 PHP | 路径会变化 |
如果你愿意,可以告诉我:
我可以给你针对你环境的精确备份脚本。