如何更新Ubuntu PHP版本
导读:在 Ubuntu 上更新 PHP 的推荐做法 一 准备与版本确认 更新索引并安装必要工具:sudo apt update && sudo apt install -y software-properties-common...
在 Ubuntu 上更新 PHP 的推荐做法
一 准备与版本确认
- 更新索引并安装必要工具:sudo apt update & & sudo apt install -y software-properties-common
- 查看可安装的 PHP 版本:apt-cache search php | grep -E ‘php[0-9.]+’
- 确认当前 CLI 版本:php -v
- 建议先备份数据与配置,并在非生产环境充分测试,避免升级导致应用不兼容。
二 使用 Ondřej Surý PPA 安装或升级到指定版本
- 添加仓库:sudo add-apt-repository ppa:ondrej/php
- 更新索引:sudo apt update
- 安装所需版本(示例为 8.0;将 8.0 替换为 7.4/8.1/8.2/8.3/8.4 等):sudo apt install php8.0
- 安装常用扩展(按需选择):sudo apt install php8.0-cli php8.0-fpm php8.0-mysql php8.0-xml php8.0-curl php8.0-gd php8.0-mbstring php8.0-opcache
- 验证版本:php -v
- 说明:该 PPA 是 Ubuntu 上获取新版 PHP 的常用方式,覆盖多个稳定版本分支。
三 切换 Web 服务器使用的 PHP 版本
- Apache(模块方式)
- 启用新版本模块并禁用旧版本(示例为 8.0):sudo a2enmod php8.0 & & sudo a2dismod php7.4
- 重启 Apache:sudo systemctl restart apache2
- Nginx(PHP-FPM 方式)
- 在站点配置中确保 fastcgi_pass 指向新版本套接字(如:unix:/run/php/php8.0-fpm.sock)
- 重启服务:sudo systemctl restart php8.0-fpm & & sudo systemctl restart nginx
- 提示:两种方式的改动点不同,Apache 用模块切换,Nginx 通过 FPM 套接字或端口指向新版本。
四 多版本并存与切换
- 同时安装多个版本(示例):sudo apt install php7.4 php8.0
- 使用 update-alternatives 设置系统默认 CLI:
- 注册候选:sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
- 注册候选:sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.0 80
- 交互选择:sudo update-alternatives --config php
- 验证:php -v(CLI 切换即时生效;Web 服务需按第三节重启对应服务)
五 常见问题与收尾
- 升级后重启相关服务:Apache 用 sudo systemctl restart apache2;Nginx 用 sudo systemctl restart php-fpm 与 sudo systemctl restart nginx
- 修改 php.ini 生效:CLI 路径通常为 /etc/php//cli/php.ini;FPM 路径为 /etc/php//fpm/php.ini,修改后需重启对应进程
- 验证 CLI 与 FPM 版本一致:php -v 与通过 phpinfo() 或 查看
- 若遇到依赖冲突或不稳定,可回退到旧版本:sudo update-alternatives --config php 选择原版本,并重启服务。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何更新Ubuntu PHP版本
本文地址: https://pptw.com/jishu/755800.html
