在运行Alpine 3.16的InstantWP中切换默认PHP版本至8.1
如何在Alpine Linux中切换默认PHP版本至8.1
背景
我正在使用Instant WordPress v5.3.6,其默认QEMU镜像包含Alpine v3.6.5和PHP v7.1.10。现已完成以下更新:
- WordPress 升级至 v6.1.1
- Alpine 升级至 v3.16.4
- 所有软件包更新至最新版本
- 通过APK安装了php81
但执行php -v后,默认PHP版本仍为7.1.10,相关命令及输出如下:
localhost:~$ sudo apk add php81 --allow-untrusted (1/2) Installing php81-common (8.1.17-r0) (2/2) Installing php81 (8.1.17-r0) Executing busybox-1.35.0-r17.trigger OK: 346 MiB in 188 packages localhost:~$ php -v PHP 7.1.10 (cli) (built: Oct 3 2017 12:31:49) ( NTS )
解决方案
在Alpine Linux中,安装多版本PHP后需通过update-alternatives命令切换默认版本,步骤如下:
- 直接设置php81为默认版本:
sudo update-alternatives --set php /usr/bin/php81
- 验证切换结果:
php -v
此时应输出PHP 8.1.x的版本信息。
如果执行上述命令提示未找到php的替代项,可先手动添加版本选项:
sudo update-alternatives --install /usr/bin/php php /usr/bin/php71 1 sudo update-alternatives --install /usr/bin/php php /usr/bin/php81 2
之后可通过交互式命令选择默认版本:
sudo update-alternatives --config php
根据提示输入对应PHP 8.1的序号即可完成切换。
另外需注意,若使用Web服务器(如Nginx、Apache),需同步配置服务器使用PHP 8.1的FPM或对应模块,避免Web端仍调用旧版本PHP。
内容的提问来源于stack exchange,提问作者Mario
相关产品推荐
相关产品推荐

