如果在 Ubuntu 22.04 LTS 上安装 PHP,默认安装的是 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
如果我列出可用的软件包,我会被告知版本 8.1.13 可用作php8.1
:
$ 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)
…
但是,如果我尝试安装它,我会被告知它已经安装:
$ 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 8.1.2-1ubuntu2.9”。
我还检查了二进制文件,它确实是版本 8.1.2。
记录显示:这与报告的被扣留的 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 install
却告诉我“php8.1 已经是最新版本 (8.1.13-1+ubuntu22.04.1+deb.sury.org+1)” ?-v
有没有办法在 Ubuntu 22.04 LTS 上安装 PHP 版本 8.1.13?