
PHP Upgrade Check для WooCommerce — что сломается после перехода на PHP 8.3, 8.4 или 8.5
Перед тем как хостинг переключит магазин на PHP 8.3, 8.4 или 8.5, плагин читает код всех плагинов и тем и показывает, что сломается: плагин, файл, строку и как исправить. Вердикт считает только то, что изменится между вашим PHP и целевым. Ничего не выполняется и не меняется. Free — проверка, отчёт, находки, CSV, «Здоровье сайта», WP-CLI. Pro — журнал ошибок во время работы сайта, проверка после обновлений, еженедельный отчёт.
- Совместимость
- WordPress 6.2+ · PHP 7.2+ (проверено на PHP 7.4 и 8.3) · WooCommerce не обязателен (проверено с 9.9.5 и 11.2.1) · HPOS · мультисайт · отчёты для PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 и 8.5
- Лицензия
- один сайт, годовая
- Триал
- 7 дней, без карты, один на сайт
- Обновлено
- октябрь 2026
Что есть во Free,
а что даёт Pro
Бесплатная версия работает без ограничения по времени. Pro добавляет остальные функции из таблицы.
Как это выглядит

Триал стартует, когда вы попросите
Свежая установка — бесплатная версия, ничего не включается само. Кнопка «Попробовать Pro 7 дней» → e-mail → ключ сразу в окне и письмом.

Один ключ — один сайт
Переносите магазин — отвяжите лицензию на старом домене и активируйте на новом сами. Для студий — ключи на 5, 25 сайтов или без ограничений.
Технические требования
WordPress 6.2+ · PHP 7.2+ (работа проверена на PHP 7.4 и 8.3, синтаксис кода — на 7.2 и 8.5) · стандартное расширение PHP tokenizer, которое в PHP включено по умолчанию.
WooCommerce — не обязателен: плагин проверяет любой сайт на WordPress, а с WooCommerce ещё и помечает его расширения и показывает, какой PHP нужен самому WooCommerce. Проверено с WooCommerce 11.2.1 и 9.9.5; совместимость с HPOS объявлена.
Мультисайт — активация для сети; отчёт охватывает плагины и темы всей сети, экран видят только суперадминистраторы.
Отчёты — для PHP 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 и 8.5.
Языки интерфейса: English, українська, русский.
История версий
Проверка плагинов, тем, must-use плагинов и drop-in на изменения PHP 7.0–8.5, отчёт для PHP 7.4–8.5 с вердиктом на каждый плагин и тему (считается только то, что изменится между текущим и…
Вместе с PHP Upgrade Check для WooCommerce покупают
4 модуля одним заказом — на 40% дешевле, чем по отдельности


Nova Poshta Premium — Новая Почта для WooCommerce

Mono Acquiring — оплата картой monobank для WooCommerce

Telegram-уведомления и Viber/SMS покупателям для WooCommerce
Полное описание модуля
PHP Upgrade Check для WooCommerce проверяет плагины и темы магазина перед переходом на более новую версию PHP и показывает, что именно сломается: плагин, файл, строку, сам код и как его исправить. Вы выбираете версию, на которую переходите, — 7.4, 8.0, 8.1, 8.2, 8.3, 8.4 или 8.5, — а плагин сверяет код со всем, что PHP убрал или изменил с 7.0 по 8.5. Проверка работает на том PHP, что стоит сейчас (от 7.2), поэтому результат виден до того, как хостинг что-то переключит.
Хостинги переводят сайты со старых версий PHP: PHP 7.4 не получает исправлений безопасности с ноября 2022 года, PHP 8.1 — с конца 2025-го, а PHP 8.2 перестанет их получать 31 декабря 2026 года. Для магазина на WooCommerce вопрос всегда один: будет ли работать оформление заказа после переключения. Достаточно одного старого плагина с удалённой функцией — и вместо страницы покупатель увидит фатальную ошибку.
Как считается вердикт. В вердикт идёт только то, что изменится между версией PHP, на которой сайт работает сегодня, и целевой. Код, который падал бы уже на текущем PHP, — например, функции mysql_*, убранные в PHP 7.0, на сервере с PHP 8.3, — либо никогда не выполняется, либо уже сломан, и переход на новую версию его не изменит. Такие находки видны во вкладке «Находки» с пометкой «в вердикте не учитывается», но плагин из-за них не получает «Сломается». Закодированные файлы и заголовок Requires PHP, превышающий целевую версию, учитываются всегда.
Чего плагин не обещает. Проверка читает код и не видит того, что происходит только во время работы: null, переданный в функцию PHP, свойство, созданное на лету, данные из базы. «Готово» значит, что для выбранной версии PHP в коде ничего не найдено, а не гарантию. После переключения проверьте магазин — прежде всего оформление заказа — и держите резервную копию, которую можно восстановить.
Магазин на OpenCart? Для OpenCart 4, 3 и 2.3 есть отдельный модуль — PHP Upgrade Check для OpenCart.
Что увидит покупатель
Ничего. Плагин работает только в админке: страницы магазина не меняет и на витрине ничего не показывает. Проверка идёт короткими шагами по несколько секунд во вкладке администратора, а сайт в это время работает как обычно.
Журнал работы в Pro собирает сообщения PHP во время обычных запросов сайта, но посетителям их не показывает и не меняет того, как PHP и другие плагины (например, Query Monitor) обрабатывают ошибки: каждое сообщение передаётся дальше, как и без плагина. За один запрос записывается не больше 50 разных сообщений, в журнале — до 2 000 строк за последние 60 дней.
Что получает админ
- Обзор сервера — версия PHP и до какого времени она получает исправления безопасности (данные php.net), есть ли более новый патч-релиз вашей ветки (с пометкой, что дистрибутивы Linux иногда переносят исправления без смены номера), поддерживает ли ваша версия WordPress целевой PHP, какой PHP нужен WooCommerce, стоит ли ionCube Loader и какие расширения PHP исчезнут в новой версии.
- Отчёт для выбранной версии PHP — счётчики «Сломается», «Закодировано — спросите разработчика», «Работает иначе», «Предупреждения об устаревшем», «Готово» и строка на каждый плагин и тему, must-use плагины и drop-in. Целевая версия переключается без новой проверки.
- Что делать — в строке плагина: «Сначала обновите до 6.2.3, затем проверьте снова», если новая версия плагина сама поддерживает целевой PHP; «Часть кода уже не работает на PHP 8.3 — этот код либо никогда не вызывается, либо уже сломан»; пометки «расширение WooCommerce» и «Нужен PHP 7.4» из заголовка плагина.
- «Проверить снова» для одного плагина или темы — после обновления не нужно проверять весь сайт.
- «Сломается» — код, который перестанет работать на целевом PHP: файл не загрузится из-за синтаксиса, которого PHP больше не понимает, или вызов закончится фатальной ошибкой. Сюда же — плагин, у которого в заголовке
Requires PHPвыше целевой версии. - «Работает иначе» — код выполнится, но поведёт себя не так, как раньше: например, конструктор в стиле PHP 4, который с PHP 8.0 больше не вызывается при создании объекта.
- «Предупреждения об устаревшем» — плагин работает, но PHP выдаёт предупреждения: они засоряют журнал ошибок и в следующих версиях станут ошибками.
- Находки — для каждой: уровень и версия PHP, с которой это изменилось, что именно не так и как исправить, ссылка на php.net, плагин, файл, строка и сам код. Фильтр по плагину и уровню.
- Защищённый код — строки внутри проверки версии PHP,
function_exists(),extension_loaded()илиdefined(), а также собственные замены удалённых функций в том же плагине помечаются «защищено» и в вердикт не идут. Их видно, если выбрать в фильтре. - CSV — все находки одним файлом для разработчика, поддержки хостинга или автора плагина: запятая или точка с запятой, с BOM и защитой от формул, открывается в Excel и Google Таблицах.
- WP-CLI:
wp catcode-php-check scan,wp catcode-php-check report --target=8.4 --format=json,wp catcode-php-check export report.csv.
- «Здоровье сайта» — тест, который говорит, сколько активных плагинов и тем сломается на целевом PHP. Он критический, когда текущий PHP уже не получает исправлений безопасности, и рекомендательный — когда ещё получает.
- Pro: журнал работы — предупреждения об устаревшем и фатальные ошибки PHP во время работы сайта, сгруппированные по плагину и теме, с файлом, строкой, количеством повторов, датой и версией PHP. Включите его перед переключением PHP и посмотрите после: он ловит то, чего не видно в коде.
- Pro: проверка после обновлений — плагин или тему, которые обновил WordPress, плагин проверяет снова в фоне, и отчёт показывает их новый вердикт.
- Pro: еженедельный отчёт — проверка в фоне раз в неделю и письмо с результатом на указанный адрес или администратору сайта.
Как это работает — шаг за шагом
- Инструменты → PHP Upgrade Check. Плагин сразу показывает, на каком PHP работает сайт и до какого времени эта версия получает исправления безопасности.
- В «Переходим на PHP» оставляете рекомендованную версию (для сайтов на PHP старше 8.3 — 8.3, дальше — следующая ветка) или выбираете свою и нажимаете «Запустить проверку».
- Плагин составляет список кода: активные плагины, тема (дочерняя и родительская), must-use плагины, drop-in; по желанию — неактивные. Папки tests пропускаются, потому что на рабочем сайте не выполняются.
- Каждый PHP-файл читается токенайзером PHP и сверяется с правилами: удалённые функции, расширения и константы, синтаксис, который больше не загружается, изменённое поведение, устаревшее в PHP 8.0–8.5. Ничего не выполняется. Проверка идёт шагами по несколько секунд; закрыли вкладку — «Продолжить проверку» досчитает с того же места.
- Отчёт: вердикт на каждый плагин и тему, «Подробнее» — находки с исправлениями, CSV для разработчика. Другая целевая версия — в том же отчёте, без новой проверки.
- Дальше — по подсказке на экране плагина: полная резервная копия, обновление плагинов и проверка снова, вопрос авторам того, что «Сломается» или «Закодировано», пробное переключение на копии сайта, потом — в панели хостинга в спокойное время и сразу проверка главной, товара, корзины и оформления заказа. Если что-то сломалось, PHP возвращается в панели обратно — файлы и база остаются как были.
Тестовый магазин с 76 плагинами (вместе с неактивными), темами, must-use плагинами и drop-in — 40 731 файл — плагин проверил за 53 секунды двенадцатью шагами, память — до 94 МБ, ни один запрос не упёрся в max_execution_time 30 секунд. При жёстком memory_limit 128M два файла по ~1 МБ, которые не поместились бы в память, плагин пропустил и назвал в отчёте. Файлы больше 3 МБ тоже пропускаются с пометкой.
Что под капотом
- Токенайзер PHP (
token_get_all()) вместо выполнения кода: файлы только читаются, ничего не подключается, код не покидает сервер. - Правила для изменений PHP 7.0–8.5: синтаксис, который не загружается (фигурные скобки для элемента строки, вложенный тернарный оператор без скобок,
(real)и(unset),=& new, классы с новыми зарезервированными именами), удалённые функции (each(),create_function(),get_magic_quotes_gpc(),money_format(), семействоeregи другие), удалённые расширения (mysql,mcrypt,xmlrpc,imap,pspell,oci8), вызовы, ставшие фатальными (implode()с массивом первым,parse_str()без результата,mktime()без аргументов), изменённое поведение (конструкторы в стиле PHP 4,is_resource()на ресурсах, ставших объектами,assert()с кодом в строке), устаревшее до PHP 8.5 (неявно nullable параметры, типы возврата для 188 встроенных классов и интерфейсов,utf8_encode(),strftime(),FILTER_SANITIZE_STRING,E_STRICT,curl_close(),imagedestroy()и другое). - Сверка с самим PHP: на 40 768 файлах 70 плагинов проверка нашла все 557 предупреждений об устаревшем, которые PHP 8.5 выдаёт при компиляции, а файлы, которые не компилируются на PHP 8.5, совпали с файлами, где она нашла незагружаемый синтаксис (10 из 10). Находки одинаковые, на каком бы PHP — 7.4, 8.3 или 8.5 — проверка ни работала.
- Защищённый код — проверка версии PHP,
function_exists(),extension_loaded()илиdefined()вокруг кода или перед&&,||и?, а также собственные замены удалённых функций в плагине распознаются, чтобы не пугать кодом, написанным под обе версии. - Шаги с блокировкой: проверка идёт шагами по одному — вторая вкладка, WP-Cron и WP-CLI не читают одни и те же файлы одновременно; предохранитель памяти пропускает слишком большие файлы и называет их в отчёте; папка без прав чтения не обрывает проверку — отчёт говорит, сколько файлов не удалось прочитать.
- Данные php.net о ветках PHP кешируются на 12 часов; если запрос выключен, плагин берёт встроенный список. Таблица совместимости WordPress и PHP встроена в плагин.
- Свои таблицы для находок и журнала работы; удаление плагина убирает таблицы, настройки и задания крона, на мультисайте — на всех сайтах.
Как установить
- Плагины → Добавить новый → Загрузить плагин: выберите
catcode-php-upgrade-check-for-woocommerce-free-1.0.0.zipи активируйте. - Инструменты → PHP Upgrade Check → выберите версию в «Переходим на PHP» → «Запустить проверку».
- Посмотрите отчёт, «Подробнее» с исправлениями и, если нужно, скачайте CSV для разработчика.
- Для Pro: загрузите Pro-сборку плагина поверх бесплатной (WordPress предложит заменить установленную версию) и вставьте лицензионный ключ из письма на вкладке «Настройки» — или нажмите там «Попробовать Pro 7 дней».
Вопросы
о модуле
Не нашли ответ? Напишите в Telegram — ответим в течение рабочего дня.
Плагин что-то меняет на сайте?
Нет. Проверка только читает PHP-файлы токенайзером PHP: ничего не выполняет, не подключает, не правит и не переключает версию PHP. Результаты пишет в собственные таблицы. Журнал работы в Pro только записывает сообщения PHP и передаёт каждое дальше, как и без плагина.
Нужен ли WooCommerce?
Нет. Плагин проверяет любой сайт на WordPress. Если WooCommerce активен, отчёт ещё и помечает расширения WooCommerce и показывает, какой PHP нужен самому WooCommerce.
Мой сайт на PHP 7.2 или 7.4. Можно проверить его под PHP 8.3?
Да, именно для этого он и сделан: проверка работает на том PHP, что стоит сейчас (от 7.2), а отчёт строится для версии, которую вы выбираете.
В плагине найден each(), а вердикт не «Сломается». Почему?
Вердикт считает только то, что изменится между PHP, на котором сайт работает сегодня, и целевой версией. each() убрали в PHP 8.0: на сайте с PHP 8.3 такой код либо никогда не вызывается, либо уже сломан, и переход на 8.4 ничего в нём не изменит. Эти находки остаются во вкладке «Находки» с пометкой «в вердикте не учитывается», а в строке плагина видно «Часть кода уже не работает на PHP 8.3». На сайте с PHP 7.4 тот же each() в отчёте для 8.3 даст «Сломается».
Плагин с вердиктом «Готово» точно будет работать?
Гарантию не даст ни одна проверка кода. «Готово» значит, что для выбранной версии PHP в коде ничего не найдено. Часть изменений проявляется только во время работы (null в функции PHP, свойство, созданное на лету) — для этого в Pro есть журнал работы. После переключения проверьте магазин, прежде всего оформление заказа, и держите резервную копию, которую можно восстановить.
А закодированные плагины (ionCube)?
Закодированные файлы прочитать невозможно. Они работают только на тех версиях PHP, которые поддерживают их кодировщик и лоадер на сервере, поэтому отчёт помечает такой плагин «Закодировано — спросите разработчика» и показывает, стоит ли ionCube Loader.
Как это работает на мультисайте?
Плагин активируется для сети, а отчёт на любом сайте охватывает плагины и темы, которыми пользуется вся сеть, ведь PHP у неё один. Экран видят только суперадминистраторы. Для лицензии каждый подсайт мультисайта — отдельный сайт: ключ активируется на адресе того сайта сети, где его вставили.
Нагрузит ли проверка сервер?
Проверка идёт в админке короткими шагами по несколько секунд. Тестовый магазин с 76 плагинами — 40 731 файл — проверен за 53 секунды, память — до 94 МБ, ни один шаг не упёрся в max_execution_time 30 с. Файл, который не поместится в memory_limit, плагин пропускает и называет в отчёте.
Что плагин отправляет наружу?
Бесплатная версия дважды в день спрашивает php.net, какой релиз последний в каждой ветке PHP и до какого времени ветка получает исправления безопасности. О вашем сайте ничего не отправляется; запрос выключается в настройках, тогда плагин берёт встроенный список. Pro проверяет лицензионный ключ и адрес сайта на сервере лицензий catcode.com.ua.
Что если я не хочу платить за Pro?
Проверка, отчёт для каждой версии PHP, находки с исправлениями, CSV, «Здоровье сайта» и WP-CLI остаются бесплатными без ограничения по времени и количеству плагинов.
Что останется после удаления плагина?
Ничего: его таблицы, настройки и задания крона удаляются, на мультисайте — на всех сайтах. Если на сайте стоит вторая копия плагина в другой папке, её данные не трогаются.
Пока нет ни одного отзыва. Будьте первым.
Пока вопросов нет. Спроси — мы ответим в течение 24 часов.
Не тот вариант, что искали?
Делаем кастомные модули под WordPress, WooCommerce, OpenCart и Shopify. Расскажите о задаче — подготовим оценку.
Заказать кастомный модуль
Покупка модуля
—
