首页主机资讯如何更新Ubuntu PHP版本

如何更新Ubuntu PHP版本

时间2025-11-25 18:26:03发布访客分类主机资讯浏览881
导读:在 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
Ubuntu PHP配置与跨域资源共享 如何调试Ubuntu PHP代码

游客 回复需填写必要信息