Обновление версии PHP в Ubuntu 20

Ку-ку! Быстрая заметка о том, как обновить версию PHP на вашем Ubuntu VPS. Процесс обновления не выглядит сложным, по этому опытные администраторы, которые и так никогда не читают мой блог, могут ее пропустить.

Для начала давайте определим порядок действий, которые нужно выполнить:

  1. Определяем версию PHP, которая уже установлена
  2. Получаем список PHP — дополнений, установленных на вашем VPS
  3. Удаляем текущую версию пхп
  4. Устанавливаем новую версию PHP
  5. Конфигурируем веб-сервер под новую версию

В моем случаем мы обновим версию с PHP 7.4 на PHP 8.

1. Определить текущую версию PHP

Для получения текущей версии PHP выполняем команду

php -v

Команда ответит сообщением о том, какая версия установлена на сервере в данный момент. Если видим в тексте PHP 7.4, можем продолжать. Наша цель — сменить вывод данной команды таким образом, чтобы она выводила PHP 8.0.

2. Определяем какие дополнения были установлены для PHP

Зачем это нужно? Установка новой версии PHP не установит дополнения, которые у вас уже есть. По этому, хорошо было бы сохранить их список для последующей установки.

Выберите один из способов для получения списка дополнений:

  1. Запустить phpinfo() в любом php скрипте
  2. Выполнить консольную команду:
dpkg -l | grep php | tee packages.txt

Команда выведет список установленных дополнений. Копируем его и идем дальше.

3. Удаляем старый PHP с сервера

Для удаления PHP (7.x) с VPS можем восспользоваться командой

sudo apt-get purge php7.*

После удаления рекомендуется выполнить команды для очистки неиспользуемых зависимостей:

sudo apt-get autoclean
sudo apt-get autoremove

После удаления php, ваш VPS готов к установке новой версии языка!

4. Установим php 8

В моем случае выполним установку PHP версии 8.0, в этом помогу следующие команды:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt install php8.0-fpm

После установки, сервер уже готов к использованию новой версии языка, но скорее всего, дополнений, необходимых для работы вашего сайта — не установлено. Команда ниже установит популярные расширения php.

sudo apt install php8.0-common php8.0-mysql php8.0-xml php8.0-xmlrpc php8.0-curl php8.0-gd php8.0-imagick php8.0-cli php8.0-dev php8.0-imap php8.0-mbstring php8.0-opcache php8.0-soap php8.0-zip php8.0-intl -y

Однако, если вы заметите что дополнений из списка выше не достаточно — обратитесь к списку, который мы получили в шаге 2, для их установки.

После чего можно перезагрузить сервер (в моем случае — nginx и убедиться что сейчас используется версия 8.0) при помощи команды проверки версии

php -v

5. Настроим веб сервер для работы с новой версией PHP

Новая версия PHP установлена, но еще не используется сайтами, которые работают на сервере, давайте это исправим.

Для NGINX

Перейдите в конфигурационный файл NGINX и укажите путь к PHP-fpm. Ниже я привел пример такой конфигурации:

server {
 
    #. .. other code
 
    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    }
}

После изменения конфигурации — перезагрузим nginx и убедимся что все работает.

sudo systemctl restart nginx

Anatolii Koziura

Антураж-куражмонтаж в мире web разработки.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *