商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > Ubuntu PHP版本如何更新

Ubuntu PHP版本如何更新

  发布于2026-05-21 阅读(0)

扫一扫,手机访问

在Ubuntu服务器上更新PHP版本,是很多开发者和运维人员都会遇到的操作。虽然听起来有点技术门槛,但只要步骤清晰,其实并不复杂。今天,我们就来梳理一套实用、可靠的升级流程,帮你安全平稳地完成版本过渡。

Ubuntu PHP版本如何更新

一、准备与版本确认

动手之前,做好准备工作能避免很多后续麻烦。第一步,当然是让系统软件源保持最新状态。

  • 更新索引并升级现有软件包:
    • sudo apt update
    • sudo apt upgrade
  • 安装添加仓库所需工具:
    • sudo apt install software-properties-common

接下来,你需要明确两个关键信息:系统里现在有哪些PHP版本可用?以及当前正在运行的是哪个版本?

  • 查看可用的PHP版本与模块:
    • apt-cache search php | grep -E ‘php[0-9]+’
  • 确认当前CLI版本:
    • php -v

摸清家底,才能有的放矢。这些步骤能确保你后续的操作目标明确,不会装错版本或遗漏必要的扩展。

二、使用Ondřej Surý PPA安装或升级PHP(推荐)

对于大多数用户来说,通过Ondřej Surý维护的PPA仓库来安装PHP,是最省心、也最主流的方法。这个仓库更新及时,版本齐全,兼容性也经过广泛验证。

  • 添加PPA仓库: 注意,你可以根据需要选择具体版本分支。例如,如果你只需要PHP 8.0,可以使用 ppa:ondrej/php8.0。通常,直接添加主仓库即可。
    • sudo add-apt-repository ppa:ondrej/php
    • sudo apt update
  • 安装目标版本: 这里以PHP 8.0为例,请将版本号替换成你的实际目标。
    • sudo apt install php8.0
  • 安装常用扩展: 光有核心还不够,根据你的项目需求(比如MySQL、GD图像处理、cURL等),安装对应的扩展模块。
    • sudo apt install php8.0-cli php8.0-fpm php8.0-json php8.0-opcache php8.0-mysql php8.0-mbstring php8.0-xml php8.0-gd php8.0-curl
  • 验证安装结果:
    • php -v

这个方法适用于Ubuntu 18.04、20.04、22.04乃至最新的24.04等常见版本,是获取较新、稳定PHP版本的首选途径。

三、在Apache或Nginx中启用新版本

PHP装好了,但Web服务器还不知道该用哪个版本。接下来,就需要根据你用的是Apache还是Nginx,进行相应的配置。

Apache(模块方式)

  • 启用新模块并禁用旧模块: 假设你要从PHP 7.4升级到8.0。
    • sudo a2enmod php8.0
    • sudo a2dismod php7.4(如果存在旧模块)
  • 重启Apache服务:
    • sudo systemctl restart apache2

Nginx(PHP-FPM方式)

Nginx本身不解析PHP,它通过FastCGI与PHP-FPM进程通信。所以,关键是指定正确的FPM套接字。

  • 确认站点配置: 打开你的Nginx站点配置文件(通常在/etc/nginx/sites-a vailable/),找到处理PHP的部分,确保fastcgi_pass指令指向新版本的FPM套接字。
    • fastcgi_pass unix:/run/php/php8.0-fpm.sock;
  • 重启相关服务:
    • sudo systemctl restart php8.0-fpm
    • sudo systemctl restart nginx

这里有个细节需要注意:如果你使用Apache的模块方式,命令行(CLI)的PHP版本和Apache中运行的版本可能是独立的。而对于Nginx,则需要确保PHP-FPM服务运行的版本与Nginx配置中指定的版本完全一致。

四、多版本并存与切换

有时候,我们并不想“一刀切”地升级,而是希望让新旧版本共存,以便测试或运行不同的项目。Ubuntu的update-alternatives机制让这变得很容易。

  • 同时安装多个版本: 例如,同时安装PHP 7.4和8.0。
    • sudo apt install php7.4 php8.0
  • 切换CLI默认版本: 将命令行默认的PHP切换到8.0。
    • sudo update-alternatives --set php /usr/bin/php8.0
  • 验证切换结果:
    • php -v

需要提醒的是,这个切换只影响命令行环境。Web服务器实际使用的PHP版本,依然由Apache启用的模块或Nginx配置的FPM套接字决定,不会因为CLI切换而改变。

五、验证与回滚建议

升级完成,不代表万事大吉。最后一步的验证和回滚预案,是专业操作的体现。

验证

  • CLI验证: 再次运行php -v,确认版本号。
  • Web验证: 在Web根目录(如/var/www/html/)创建一个info.php文件,内容只有一行。然后通过浏览器访问这个文件,就能看到详细的PHP版本和已加载的扩展信息。切记,验证完成后务必删除此文件,以免暴露服务器敏感信息。

回滚

如果新版本出现问题,需要快速回退到旧版本,可以按以下步骤操作:

  • 降级CLI版本:
    • sudo update-alternatives --set php /usr/bin/php7.4
  • Apache回滚:
    • sudo a2dismod php8.0 && sudo a2enmod php7.4 && sudo systemctl restart apache2
  • Nginx回滚: 将站点配置中的fastcgi_pass改回旧版套接字(如php7.4-fpm.sock),然后重启服务。
    • sudo systemctl restart php7.4-fpm nginx

注意事项

说到底,升级操作有潜在风险。最稳妥的做法永远是:先备份数据和配置文件,然后在测试环境中完整走一遍流程。特别是当你的应用严重依赖某些特定PHP版本或扩展时,贸然升级可能会导致兼容性问题。建议采用逐步切换、充分回归测试的策略,确保万无一失。

本文转载于:https://www.yisu.com/ask/40594327.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注