Що робити розробникам після End-of-Life PHP 8.1

У замітці Ayesh Karunaratne на PHP.Watch розбирається конкретний рубіж: 31.12.2025 PHP 8.1 офіційно отримав статус End-of-Life. Нижче — практичний розбір, що це означає для проєктів і як спланувати перехід.

PHP 8.1 End-of-life

Що саме сталося з PHP 8.1

З 31 грудня 2025 року гілка PHP 8.1 більше не отримує оновлень від офіційної команди PHP:

  • немає нових патчів безпеки
  • немає виправлень багів
  • немає нових мінорних релізів

PHP 8.1 вийшов у листопаді 2021 року. Менеджери релізу Joe Watkins, Ben Ramsey і Patrick Allaert за цей час підготували загалом 35 випусків з виправленнями багів і безпекових уразливостей. У межах нової схеми життєвого циклу, описаної на php.watch/news/2024/09/php-release-cycle-updates, саме 8.1 став найстарішим релізом, який потрапив під оновлені правила підтримки.

Ключові зміни, які приніс PHP 8.1

Стаття нагадує, що PHP 8.1 був помітним кроком уперед у мові, зокрема завдяки:

  • Enums — перелічувані типи, які дозволяють замінити розрізнені константи більш безпечними іменованими варіантами
  • readonly властивостям — дозволяють зафіксувати значення властивості після першого присвоєння
  • іншим покращенням, виправленням і депрікаціям, переліченим у загальному огляді php.watch/versions/8.1

Ці нові можливості залишаються доступними й надалі — вони вже інтегровані в наступні версії PHP. Проблема не у функціональності, а в тому, що ядро 8.1 більше не лататимуть при виявленні нових уразливостей.

На яку версію переходити: PHP 8.2 і дедлайни підтримки

Офіційна рекомендація з матеріалу — оновлюватися щонайменше до PHP 8.2. Автор вказує, що:

  • PHP 8.2 є наступником 8.1
  • 8.2 продовжить отримувати виправлення безпеки до 31.12.2026

Тобто, якщо ви зараз на 8.1 або старіше, перехід на 8.2 дає приблизно ще один рік офіційних security-патчів. Для довшого горизонту планування варто одразу дивитися на актуальніші гілки (8.3, 8.4), але це вже виходить за рамки розглянутої замітки.

Ризики роботи на PHP 8.1 після End-of-Life

У матеріалі прямо зазначено: застосунки, які все ще працюють на PHP 8.1 або старіше, настійно рекомендується оновити. Причина проста:

  • нові вразливості, знайдені в ядрі PHP після 31.12.2025, не будуть виправлені командою PHP для 8.1
  • навіть якщо знайдете обхідний шлях у коді застосунку, базові проблеми в інтерпретаторі залишаться
  • багато бібліотек і фреймворків поступово припиняють тестування і підтримку старих гілок PHP після їхнього EOL

Через це кожен місяць роботи на 8.1 після EOL збільшує розрив між вашим стеком і підтримуваною екосистемою.

Роль дистрибутивів Linux: коли «оновлення ще приходять»

Окремо у статті проговорюється виняток: офіційна команда PHP зупинила підтримку, але деякі дистрибутиви Linux і вендори можуть продовжити випускати власні патчі безпеки для вбудованих пакетів PHP.

Приклад, наведений автором:

  • Ubuntu 22.04 включає PHP 8.1 у свої офіційні репозиторії
  • Ubuntu 22.04 має свій власний End-of-Life у червні 2027 року
  • до цього моменту команда Ubuntu може бекпортити виправлення безпеки з новіших гілок PHP в пакет php8.1 для цього дистрибутиву

Важливі нюанси, які варто мати на увазі, плануючи стратегію оновлення:

  • бекпортинг — рішення конкретного вендора. У статті підкреслено, що дистрибутиви можуть це робити, але це не автоматична гарантія для всіх випадків
  • такий PHP формально все одно базується на гілці 8.1, просто з додатковими латками від команди дистрибутива
  • екосистема PHP (фреймворки, бібліотеки, хостинги поза цим дистрибутивом) орієнтується саме на офіційний статус версії

Тому, навіть якщо ви отримуєте security-оновлення через пакетний менеджер дистрибутива, це радше тимчасовий буфер, а не довгострокова заміна повноцінному оновленню версії PHP.

Практичний план дій для застосунків на PHP 8.1

З урахуванням факту EOL, стаття зводиться до чіткої рекомендації: застосунки на PHP 8.1 і нижче треба переводити на підтримувані версії. Практичні кроки можуть виглядати так:

  1. Перевірити цільову версію. Мінімум — PHP 8.2, який ще має офіційну підтримку безпеки до кінця 2026 року. Якщо ваші бібліотеки і фреймворки вже сумісні з новішими гілками, варто розглянути перехід далі.
  2. Переглянути зміни в мові. Для переходу з 8.1 на 8.2 є окремий огляд змін: php.watch/versions/8.2. Так ви зможете відловити потенційно небезпечні місця ще до оновлення продакшену.
  3. Підняти окреме оточення для тестів. На тестовому сервері або локально розгорнути ту ж саму кодову базу на PHP 8.2, увімкнути максимальний рівень повідомлень про помилки і поступово виправляти попередження і фатальні помилки.
  4. Синхронізуватися з політикою дистрибутивів. Якщо застосунок прив'язаний до конкретного Linux-дистрибутива (як Ubuntu 22.04), бажано перевірити його дорожню карту підтримки PHP, щоб розуміти, скільки часу реально дають бекпортовані патчі безпеки.

Так ви зменшите ризики, пов'язані з відсутністю офіційних оновлень у гілці PHP 8.1, і отримаєте запас часу до наступного великого оновлення.


Джерело: Ayesh Karunaratne — PHP.Watch: новости

Пошук

Закрити