You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决php -v与phpinfo()显示PHP版本不一致问题

问题核心原因

sudo update-alternatives --config php 仅修改 命令行(CLI)环境 下的默认PHP版本指向,和Apache服务加载的PHP运行模块是完全独立的两套配置,不会自动修改Web服务使用的PHP版本,这就是你执行完版本选择、重启Apache后Web端phpinfo仍显示8.0.19的根本原因。

修复操作

根据你环境使用的PHP运行模式,选择对应步骤执行:

模式1:Apache 内置模块运行PHP(Ubuntu默认安装的最常见模式)

依次执行以下命令切换Apache加载的PHP版本:

# 禁用当前加载的PHP8.0模块
sudo a2dismod php8.0
# 启用PHP8.1模块
sudo a2enmod php8.1
# 重启Apache服务使配置生效
sudo systemctl restart apache2

模式2:PHP-FPM 模式对接Apache

如果你的环境使用FPM方式解析PHP,执行以下命令切换版本:

# 禁用旧版PHP8.0-FPM的Apache对接配置
sudo a2disconf php8.0-fpm
# 启用新版PHP8.1-FPM的Apache对接配置
sudo a2enconf php8.1-fpm
# 停止旧版FPM服务,启动新版FPM服务
sudo systemctl stop php8.0-fpm
sudo systemctl start php8.1-fpm
# 配置新版FPM开机自启(可选操作)
sudo systemctl enable php8.1-fpm
# 重启Apache服务加载新配置
sudo systemctl restart apache2
生效验证
  • 执行命令 apache2ctl -M | grep php,查看输出结果,确认当前Apache加载的PHP模块/配置对应版本为8.1
  • 清空浏览器本地缓存、PHP OPcache缓存后,刷新phpinfo页面,即可看到Web端PHP版本已切换为8.1

补充说明:命令行PHP版本和Web端PHP版本的配置完全独立,如果你需要两边版本保持一致,你之前执行的update-alternatives选择PHP8.1的操作是正确的,该操作不会影响Web端配置,需要分别调整。

内容的提问来源于stack exchange,提问作者Shaho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 10:36:24