在 Ubuntu 上迁移 PHP 配置,通常有以下几种常见场景。下面按最实用、最常见的做法给你说明。
Ubuntu 上 PHP 配置一般在:
/etc/php/<版本>/cli/php.ini # 命令行 PHP
/etc/php/<版本>/fpm/php.ini # PHP-FPM(Web 常用)
/etc/php/<版本>/apache2/php.ini # Apache 模式
示例(PHP 8.1):
/etc/php/8.1/fpm/php.ini
/etc/php/8.1/cli/php.ini
查看当前版本:
php -v
在源服务器:
cp /etc/php/8.1/fpm/php.ini ~/php-fpm.ini.bak
cp /etc/php/8.1/cli/php.ini ~/php-cli.ini.bak
传到目标服务器:
scp php-fpm.ini.bak user@new-server:/tmp/
在目标服务器:
cp /tmp/php-fpm.ini.bak /etc/php/8.1/fpm/php.ini
cp /tmp/php-cli.ini.bak /etc/php/8.1/cli/php.ini
重启服务:
systemctl restart php8.1-fpm
Ubuntu 推荐把自定义配置放在:
/etc/php/8.1/fpm/conf.d/
/etc/php/8.1/cli/conf.d/
例如:
/etc/php/8.1/fpm/conf.d/99-custom.ini
内容示例:
upload_max_filesize = 64M
post_max_size = 64M
memory_limit = 256M
✅ 迁移时只复制这些文件即可,更安全、不易冲突。
如果你改过 www.conf:
/etc/php/8.1/fpm/pool.d/www.conf
迁移方式:
scp /etc/php/8.1/fpm/pool.d/www.conf new-server:/etc/php/8.1/fpm/pool.d/
重启:
systemctl restart php8.1-fpm
⚠️ 不建议直接覆盖 php.ini
原因:默认值已变,可能不兼容
✅ 正确做法:
diff /etc/php/7.4/fpm/php.ini /etc/php/8.1/fpm/php.ini
conf.d/php -i > phpinfo.txt
或只看修改过的:
php -i | grep -i "Configuration File"
fpm/php.ini 而不是 cli/php.inisystemctl restart php8.1-fpmsystemctl restart apache2www-data 用户如果你能告诉我:
我可以直接给你一套精准命令。