В этой статье мы будем обновлять и понижать версии PHP на Ubuntu 20.04.
Как обновить и понизить версии PHP на Ubuntu 20.04.
В отличие от CentOS 7, изменение версии PHP на Ubuntu не требует ее удаления. Это связано с тем, что при добавлении PHP в свой список Ubuntu также обновляет файл альтернативных версий, о котором мы расскажем в конце статьи. Также мы обсудим метод полного удаления PHP.
Предупреждение: удаление старой версии PHP может повлиять на функциональность phpMyAdmin и других программ, требующих конкретной версии PHP.
Подготовка
1. Обновите списки репозиториев командой:
apt-get update
Это необходимо обязательно, так как в противном случае система может не найти необходимый пакет.
2. Установите менеджер репозиториев:
apt install software-properties-common
Без него не удастся добавить репозиторий PHP.
3. Добавьте репозиторий PHP:
add-apt-repository ppa:ondrej/php
Нажмите [ENTER], когда появится запрос. После этого повторите первый шаг. Теперь система готова к обновлению PHP.
Обновление
Для начала узнайте установленную версию PHP и модули:
1. Показать установленную версию PHP:
php -v
2. Показать установленные модули для выбранной версии PHP:
php -m
Скопируйте этот список, чтобы знать, какие модули отсутствуют в новой версии для работы веб-сайта или программы.
Варианты обновления версии PHP
1. Обновление до последней версии PHP:
Полностью удалите старую версию PHP:
apt-get remove php5.6*
Предупреждение: Эта команда также может удалить Apache2, который является частью зависимостей PHP на Ubuntu, что приведет к остановке работы веб-сайтов. Затем установите новую версию:
apt-get install php
Установите отсутствующие модули отдельно:
apt-get install php-модуль1 php-модуль2 .....
На момент написания последней версии PHP - 8.2. После установки проверьте:
php -v
1.2. Вариант использования:
apt upgrade php
Но это обновляет только базовую версию без модулей. Чтобы полностью обновить версию:
apt upgrade php*
Это не сработает из-за конфликта пакетов. Устанавливайте отсутствующие модули вручную:
apt-get install php-модуль1 php-модуль2 .....
2. Установка конкретной версии PHP:
Удалите старую версию:
apt-get remove php5.6*
Для установки конкретной версии используйте:
apt-get install php7.4 php7.4-название модуля1 php7.4-название модуля2...
Где 7.4 - это версия PHP.
Понижение версии
Принцип аналогичен обновлению:
Удалите старую версию:
apt-get remove php7.4*
Установите новую версию:
apt-get install php5.6 php5.6-название модуля1 php5.6-название модуля2...
Где 5.6 - это версия PHP.
В сулчае если вам нужно несколько версий PHP или самый безопасный способ переключения версий PHP на нужную.
В этом методе будет работать одна из установленных версий, если в конфигурациях самой программы не указан путь к конкретной версии PHP.
Для этого метода нам нужно установить сразу две версии PHP.
apt-get install php5.6 && apt-get install php7.4
Таким образом, мы установили PHP5.6 и PHP7.4.
Чтобы переключаться между версиями PHP, введите команду:
update-alternatives --config php
В этом списке для выбора нужной версии введите соответствующий номер (например, 1 = PHP5.6, 2 = PHP7.4 ...). Для проверки версий используйте:
php -v
Если вы используете Apache, отключайте/включайте версии PHP также в самом Apache командами:
a2dismod php5.6
a2enmod php7.4
После изменения версии PHP всегда перезапускайте Apache:
systemctl restart apache2 или service apache2 restart.
Заключение
Знак (*) в команде означает, что она будет искать все совпадения в именах пакетов, поэтому избегайте использования:
apt-get remove php*
Это удалит не только PHP, но также phpMyAdmin и другие пакеты с именами, начинающимися на PHP.
Двойной амперсанд (&&) используется для последовательного выполнения команд:
Command1 && Command2 и так далее.
Также предлагаем рассмотреть другие полезные статьи: