You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu 22.04 LTS下PHP 8.1.13安装及版本显示异常问题求助

Ubuntu 22.04 LTS下PHP 8.1.13安装及版本显示异常问题求助

各位大佬好,我在Ubuntu 22.04 LTS上折腾PHP版本的时候碰到了一个特别费解的问题,想请大家帮忙看看:

首先,我用默认的apt命令安装PHP,结果装的是8.1.2版本:

$ sudo apt install php

$ php -v
PHP 8.1.2-1ubuntu2.9 (cli) (built: Oct 19 2022 14:58:09) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.2, Copyright (c) Zend Technologies
with Zend OPcache v8.1.2-1ubuntu2.9, Copyright (c), by Zend Technologies

之后我用dpkg -l | grep php查看已安装包,发现php8.1的版本标注是8.1.13:

$ dpkg -l | grep php
…
ii  php8.1 8.1.13-1+ubuntu22.04.1+deb.sury.org+1 all server-side, HTML-embedded scripting language (metapackage)
…

但当我尝试安装php8.1的时候,系统却说已经是最新版本了:

$ sudo apt install php8.1
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
php8.1 is already the newest version (8.1.13-1+ubuntu22.04.1+deb.sury.org+1).
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

可实际运行php8.1 -v或者php -v(因为php已经软链到php8.1了),显示的还是8.1.2版本,我特意检查了二进制文件,确定就是8.1.2没错。

对了,这个问题和apt upgrade里提示的7个被保留的包无关,具体保留的包是这些:

$ sudo apt upgrade
…
The following packages have been kept back:
grub-common grub-pc grub-pc-bin grub2-common libsasl2-2 libsasl2-modules libsasl2-modules-db
0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

我还尝试添加了ppa:ondrej/php源,成功装上了PHP 8.2.0,但就是没法安装PHP 8.1.13或者其他8.1.x的新版本。

我实在搞不懂这里面的逻辑,为啥apt说php8.1已经是8.1.13了,但实际运行的却是8.1.2?有没有办法在Ubuntu 22.04 LTS上成功安装PHP 8.1.13呢?

备注:内容来源于stack exchange,提问作者Free Radical

火山引擎 最新活动