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




