← Повернутись до блогу

Оновлення версії PHP у Ubuntu 20

September 2021 2 хвилини на читання 192 перегляди

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

Для початку давайте визначимо порядок дій, які потрібно виконати:

  1. Визначаємо версію PHP, яка вже встановлена
  2. Отримуємо список PHP-доповнень, встановлених на вашому VPS
  3. Видаляємо поточну версію PHP
  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
2018–2025 (c) Списуй але не один в один