温馨提示×

ubuntu php配置怎么迁移

小樊
44
2026-09-25 16:53:59
栏目: 编程语言

在 Ubuntu 上迁移 PHP 配置,通常分为同版本迁移和跨版本升级迁移两种情况。下面给你一套清晰、可操作的步骤。


一、确认当前 PHP 情况

php -v
which php

查看已安装版本(如 7.4 / 8.1 / 8.2):

ls /etc/php/

二、PHP 配置核心目录

Ubuntu 中 PHP 配置主要在:

/etc/php/{版本}/
├── cli/
│   └── php.ini
├── fpm/
│   ├── php.ini
│   └── pool.d/www.conf
└── mods-available/

常用服务:

  • php{版本}-fpm(Web 用)
  • cli(命令行)

三、迁移方式一:同版本迁移(换服务器)

1️⃣ 打包 PHP 配置

tar czf php-config.tar.gz /etc/php

或只打包某版本:

tar czf php74.tar.gz /etc/php/7.4

2️⃣ 目标机器恢复

tar xzf php74.tar.gz -C /

3️⃣ 安装相同 PHP 版本

sudo apt install php7.4-fpm php7.4-cli

4️⃣ 重启服务

systemctl restart php7.4-fpm

四、迁移方式二:跨版本升级(如 7.4 → 8.2)

⚠️ 不能直接复制 php.ini,参数可能已变更

1️⃣ 安装新版本

sudo apt install php8.2-fpm php8.2-cli

2️⃣ 对比原配置

diff /etc/php/7.4/fpm/php.ini /etc/php/8.2/fpm/php.ini

3️⃣ 手动迁移关键配置

常见需要保留的项:

upload_max_filesize
post_max_size
memory_limit
display_errors
date.timezone
cgi.fix_pathinfo

建议:

  • 复制你改过的部分
  • 不要整体覆盖

五、迁移 PHP 扩展

查看已安装扩展

php -m

安装对应版本扩展

sudo apt install php8.2-mysql php8.2-curl php8.2-gd

启用扩展

phpenmod xxx

六、Web 服务(Nginx / Apache)配合

Nginx

fastcgi_pass unix:/run/php/php8.2-fpm.sock;

重启:

systemctl restart nginx

Apache

a2enmod proxy_fcgi setenvif
a2enconf php8.2-fpm

七、验证是否成功

php -v
php -m
systemctl status php8.2-fpm

八、推荐迁移清单 ✅

  • [ ] php.ini 自定义项
  • [ ] pool.d/www.conf
  • [ ] 扩展列表
  • [ ] 网站运行测试
  • [ ] 日志检查 /var/log/php*

如果你能告诉我:

  • 原 PHP 版本
  • 目标 PHP 版本
  • 是否用 Nginx / Apache
  • 是否容器 / 云服务器

我可以给你更精确的迁移命令。

0 踩