Как обновить PHP до версии 7.4.30?

Как обновить PHP до версии 7.4.30?

Версия PHP по умолчанию на Ubuntu Server 20.04 — 7.4.3, я хочу обновить ее до 7.4.30. Я добавил ppa:ondrej/php в репозиторий apt, но apt upgrade показывает, что он обновит 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.1, php8.0, и php7.4, а также добавляет псевдоним для , phpуказывающий на php8.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 включают исправления ошибок и обновления безопасности в официальные пакеты. Они сохраняют основную версию. Поэтому нет необходимости обновляться до младших релизов upstream.

Вы можете видеть, что в Ubuntu 20.04 установлена 7.4.3-4ubuntu2.12​​версия PHP.

Вы можете обратиться кЖурнал изменений

Это частая ошибка — искать такого рода «улучшения».

Связанный контент