Усуньте видалені API, конфлікти залежностей, відсутні розширення й помилки шлюзу, що блокують виправлення PHP2Shell. Відновіть роботу на виправленому PHP та перевірте обидві CVE.
01
Немає mysql_*, each чи create_function
Визначте PHP запиту. ext/mysql видалено у PHP 7, each()/create_function() у PHP 8. Оновіть компонент або виправте приватно. Збережіть зв’язування параметрів і транзакції PDO/mysqli. Уникайте сліпих замін і невідомих патчів.
02
TypeError чи несумісний метод
Збережіть повну помилку/стек приватно. Порівняйте перевизначення з батьком/інтерфейсом і новими правилами. Оновіть пакет або виправте з тестом. Не видаляйте типи масово й не показуйте подробиці публічно.
03
Динамічні властивості PHP 8.2
Попередження не доводить RCE/злам. Знайдіть клас і використайте підтримуваний випуск чи явне виправлення. Перевірте серіалізацію/ORM. Логуйте приватно та усуньте причину; приховування всього не виправляє PHP2Shell.
04
Конфлікт платформи Composer
Збережіть composer.json/lock; перевірте пакети й check-platform-reqs --lock на довіреній копії. prohibits знайде блокування. config.platform моделює розв’язання, не змінює PHP. --ignore-platform-reqs не доводить сумісність. Перевірте й випробуйте новий lock.
05
Немає розширення чи драйвера
Порівняйте INI/модулі CLI і Web/FPM окремо. Встановіть довірену збірку PHP, архітектури, NTS/ZTS у правильну службу. Контрольовано перезапустіть процеси й перевірте функцію/з’єднання. CLI не доводить Web.
06
502, порожня сторінка чи старий PHP
Зіставте журнали upstream, запуску FPM і застосунку. Перевірте socket/порт, права, службу, binary; розширення може блокувати старт. Валідовуйте перед reload і збережіть логи. Один 502 не доводить атаку.
07
Кодування, посилання й дані
Окремо перевірте джерела, charset/collation БД, export, rewrite, storage. Відрепетируйте GBK/UTF-8, порівняйте поля, вкладення, URL. Не замінюйте текст масово в серіалізаціях. Збережіть шляхи або перевірте redirects.
Перевірити виправлення PHP2Shell
Сумісність застосунку, його супровід і безпека PHP перевіряються окремо. Виберіть підтримувану гілку з виправленнями обох CVE та перевірте Web-процеси, завдання й репліки. Оновлення плагіна не замінює PHP.
| Гілка PHP | Вихідні версії нижче | Перша виправлена версія | Кінець оновлень безпеки |
|---|---|---|---|
| PHP 8.5 | < 8.5.12 | ✓ 8.5.12 | 31 груд. 2029 р. |
| PHP 8.4 | < 8.4.27 | ✓ 8.4.27 | 31 груд. 2028 р. |
| PHP 8.3 | < 8.3.36 | ✓ 8.3.36 | 31 груд. 2027 р. |
| PHP 8.2 | < 8.2.35 | ✓ 8.2.35 | 31 груд. 2026 р. |
Звичайних випусків PHP для цих гілок немає. Мінімальні бекпорти коду доступні для 7.4, 8.0 і 8.1. Підтримку постачальника перевіряйте окремо. Читати посібник ↗