如何將 PHP 升級到 7.4.30?

如何將 PHP 升級到 7.4.30?

Ubuntu Server 20.04上的預設PHP版本是7.4.3,我想將其升級到7.4.30。我已將 ppa:ondrej/php 添加到 apt 儲存庫,但 apt 升級顯示它將將 PHP 升級到 8.1。我該如何告訴 apt 我不想跳到 PHP 8?

答案1

長話短說:

sudo apt install php7.4=1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1

完整解釋:

由於您已經新增了ppa:ondrej/php儲存庫(已通過sudo add-apt-repository ppa:ondrej/php),因此您可以使用apt-cache列出可以安裝的可用版本,然後apt install安裝特定版本。

apt工具使用別名來簡化流行應用程式的安裝。正如您無意中發現的,apt install php現在是 的別名apt install php8.1。 ondrej/php 儲存庫新增了php8.1php8.0和 的套件,並為指向 的php7.4新增了別名。phpphp8.1

因為您想要安裝 php 7.4.30,所以您需要在apt install命令中明確包含版本號。該apt-cache命令將列出所有可用版本。我更喜歡使用,apt-cache madison因為我發現輸出比apt-cache showpkg或 更容易閱讀apt-cache policy,但其中任何一個都將提供您需要的資訊 - 使用您喜歡的任何命令。

apt-cache madison php7.4

將會傳回類似這樣的內容:

php7.4 | 1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1 | http://ppa.launchpad.net/ondrej/php/ubuntu focal/main amd64 Packages
php7.4 | 7.4.3-4ubuntu2.12 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages
php7.4 | 7.4.3-4ubuntu2.12 | http://security.ubuntu.com/ubuntu focal-security/main amd64 Packages
php7.4 | 7.4.3-4ubuntu1 | http://archive.ubuntu.com/ubuntu focal/main amd64 Packages

這些列的組織方式如下:

<package name> | <version> | <repository>

apt支援使用可選語法安裝特定版本的套件package=version。在本例中,所需的版本是1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1,它來自 ondrej/php 儲存庫。

把它們放在一起:

 sudo apt install php7.4=1:7.4.30-5+ubuntu20.04.1+deb.sury.org+1

答案2

Ubuntu 維護者在官方軟體包中包含錯誤修復和安全性更新。他們保留主要版本。因此無需升級到上游次要版本。

可以看到Ubuntu 20.04有7.4.3-4ubuntu2.12PHP的版本。

您可以參考變更日誌

尋找此類“升級”是一個常見的錯誤。

相關內容