Три WordPress-магазини, три сервери, три різні стартові версії: 8.0.28, 8.1.31 і 8.2.20. Нижче: що саме роблю на кожному, у якому порядку, що перевіряю і як повертаюсь назад, якщо щось пішло не так.
Вставте список плагінів (вивід wp plugin list --fields=name,version) і побачите, як я розбираю ризики. Це приклад логіки, на реальних сайтах те саме роблю через WP-CLI і staging.
| Зміна в PHP | Як проявляється | Що роблю |
|---|---|---|
8.1: передача null у вбудовані функції | Deprecated у логах, зайві попередження на старих темах | Оновлюю тему/плагін, у крайньому разі точково патчу дочірню тему |
| 8.2: динамічні властивості класів | Deprecated у застарілих плагінах | Оновлення плагіна або заміна на живий аналог |
| 8.0+: суворіші типи й порівняння рядків із числами | Інша поведінка умов, рідко білий екран | Перевіряю на staging, дивлюсь php-fpm і debug.log |
| Видалені розширення та функції | Fatal error у давно не оновлених плагінах | Складаю список до оновлення, замінюю заздалегідь |
| OPcache / php.ini | Інші значення за замовчуванням, інші шляхи конфігів | Переношу налаштування вручну, перевіряю php -i |