Заметки сисадмина

Обновление PHP 7.2 до версии 7.3 на Ubuntu сервере с NGINX

Введение

В данной статье будет рассмотрен процесс обновления PHP 7.2 до версии 7.3 на Ubuntu сервере с NGINX. Ниже приведенные инструкции также применимы к переходу с более ранних 7.x версий.

Обновление PHP 7.2 до версии 7.3 на Ubuntu сервере с NGINX

Подготовка

Для начала сделайте бекап PHP конфигов. Для этого выполните в консоли:


$ cd /etc/php

$ sudo tar -cJf ~/php-7.2-backup.tar.xz 7.2


Прежде, чем устанавливать новые версии пакетов, нужно узнать какие именно php-пакеты необходимо установить. Чтобы увидеть, какие php-пакеты установлены на данный момент, выполните в консоли:


$ sudo apt list --installed | grep php7.2

Можно сразу сохранить вывод в файл:


$ sudo apt list --installed | grep php7.2 > php72_packages.txt

Если вы устанавливали PHP из репозитория Ubuntu, тогда добавьте PPA репозиторий:


$ sudo add-apt-repository ppa:ondrej/php
$ sudo apt-get update


Если данный репозиторий у вас уже добавлен, тогда просто выполняйте:


$ sudo apt update


Установка

Установите новые версии PHP-пакетов:


$ sudo apt install php7.3-cli php7.3-common php7.3-curl php7.3-fpm php7.3-gd php7.3-json php7.3-mbstring php7.3-mysql php7.3-opcache php7.3-readline php7.3-xml php7.3-xmlrpc

Настройка

Скопируйте старый php.ini в новую директорию:


$ sudo cp /etc/php/7.2/fpm/php.ini /etc/php/7.3/fpm/php.ini


или сделайте изменения вручную, затем перезапустите сервис php7.3-fpm


$ sudo systemctl restart php7.3-fpm.service


PHP FPM настроен, но NGINX еще использует старую версию PHP.

В файле


$ /etc/nginx/conf.d/app_name.conf


укажите NGINX использовать сокет для PHP 7.3.

Замените


unix:/var/run/php/php7.2-fpm.sock


на


unix:/var/run/php/php7.3-fpm.sock


и перезапустите сервис nginx:


$ sudo systemctl restart nginx.service


Если для каких-то PHP приложений нужна старая версия PHP, то просто не меняйте путь для FPM сокета в конфиге NGINX. Таким образом, можно одновременно использовать обе версии PHP.

Удаление старой версии


Если старая версия по-прежнему будет использоваться – пропустите этот шаг.

Осталось только удалить старые пакеты (вместе с конфигами), относящиеся к PHP 7.2:


$ sudo apt purge php7.2-common


Можно не перечислять все пакеты, а указать только один (остальные пакеты удалятся автоматически).

Если после удаления пакетов, директория /etc/php/7.2 не удалилась - удалите ее сами:


$ sudo rm -r /etc/php/7.2


Заключение

На этом все. Новая минорная версия PHP установлена и настроена.

Поделиться
Комментарии
Николай 10.01.2020 18:34
Привет. Если в моей папке Nginx отсутствует файл &/etc/nginx/conf.d/app_name.conf&, то где ещё можно поискать этот конфиг, чтобы выполнить замену строки &unix:/var/run/php/php7.2-fpm.sock&? Ubuntu 18.04, ставил по мануалам Digital Ocean.
Николай 11.01.2020 02:07
Нашёл в конфиге хоста. Спасибо за руководство, очень полезно.
Максим Орлов

Ваш покорный слуга - компьютерщик широкого профиля: системный администратор, вебмастер, интернет-маркетолог и много чего кто. Вместе с Вами, если Вы конечно не против, разовьем из обычного блога крутой технический комплекс.

Оставить комментарий

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