Ubuntu服务器下如何从PHP 8.0切换至PHP 8.1
切换Ubuntu系统默认PHP CLI版本到8.1
你遇到的是CLI版本与PHP-FPM版本分离的问题:Nginx配置的是PHP-FPM(处理Web请求),而php -v查看的是命令行CLI版本,两者是独立的组件。按以下步骤切换CLI默认版本:
1. 查看已注册的PHP版本可选项
先确认系统中已注册的PHP CLI可执行文件:
update-alternatives --list php
如果输出包含/usr/bin/php8.1和/usr/bin/php8.0,直接跳到步骤2;如果没有php8.1条目,先执行步骤3手动注册。
2. 交互式切换默认版本
执行配置命令,通过编号选择PHP 8.1:
sudo update-alternatives --config php
命令执行后会列出所有可选PHP版本,输入对应PHP 8.1的编号(比如2),回车即可完成切换。
3. 手动注册PHP 8.1(如果步骤1未找到)
如果系统未自动注册PHP 8.1的CLI选项,先确认它的可执行路径(通常是/usr/bin/php8.1),然后执行注册命令:
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.1 10
这里的10是优先级数值,数值越高越优先。如果PHP 8.0的原有优先级低于10,执行后PHP 8.1会自动成为默认版本;若需调整,再执行步骤2的配置命令手动选择。
验证切换结果
执行以下命令确认默认版本已切换:
php -v
此时应显示PHP 8.1的版本信息。
注意:Nginx使用的PHP-FPM与CLI版本相互独立,你之前修改的Nginx配置已经让Web应用使用PHP 8.1 FPM,切换CLI版本不会影响Web应用运行;如果原有应用需要保留PHP 8.0,只需将对应Nginx配置里的
fastcgi_pass指向unix:/run/php/php8.0-fpm.sock即可(你的应用要求8.0及以上,8.1完全兼容)。
内容的提问来源于stack exchange,提问作者Mena
相关产品推荐
相关产品推荐

