Здравствуйте, дамы и господа, в этой статье решил обсудить работу PHP 8 и WordPress. 8 версия PHP появилась не так давно, но её уже более-менее обкатали, многие плагины обновили до данной версии, а также многие хостинги включили поддержку PHP 8. Соответственно, первое время всё работало кривовато, но сейчас самое время для тестирования.
PHP 8 и WordPress
Итак, уже почти год прошёл с релиза 8 версии PHP, поддержка в режиме «бета» была включена в релиз WP 5.6, в версии 5.8 уже допилена полноценная поддержка, соответственно, «голый» Вордпресс глючить не должен.
WordPress версии 6 и более будет работать с PHP 8 без всяких проблем, но за плагины, особенно устаревшие, не ручаюсь.
Но если у вас устаревшая версия WordPress, тема уже «запылилась» или много устаревших плагинов, то высока вероятность, что вместо прибавки к скорости и стабильной работы, получите кучу ошибок.
По крайней мере, множество плагинов и тем до сих пор используют множество функций, которые были объявлены устаревшими ещё в PHP 7.x, а сейчас вообще удалены.
Например, на данном сайте у меня есть один устаревший плагин — LuckyWP Table of Contents, но он вроде бы стабильно работает с данной версией. По крайней мере, если судить по логу ошибок, то проблем нет.
А вот плагин PageSpeed Ninja, к сожалению, начал выдавать фатальные ошибки, так что пришлось всё же отказаться от любимого плагина.
Впрочем, Autoptimize дал лучшую прибавку к скорости. Раньше выигрывал PSN, но теперь всё поменялось.
А теперь давайте посмотрим на то, какие преимущества даёт PHP 8.
PHP 7.4 vs PHP 8 в WordPress
Наверняка некоторые помнят болезненный переход с PHP 4.4 на PHP 5, когда скорость обработки кода заметно упала.
В данном случае скорость не просела, а даже немного возросла, что очень даже неплохо. Конечно, разница между PHP 7.4 и PHP 8 невелика, но в рабочих проектах она всё-таки есть.
Для начала я протестировал собственный сайт с помощью DevTools и Pagespeed Insight.
Для PHP 7.4 результат был такой:
Для PHP 8 такой:
В общем, разница на грани погрешности. В DevTools разница также оказывалась 50-100 миллисекунд.
Но в большинстве тестов PHP 8 показал чуть большую скорость.
Кстати, после замены PageSpeed Ninja на Autoptimize результат стал заметно лучше:
Но я решил проверить на чистом проекте. Без кеширования, без плагинов для ускорения, без объектного кеширования и прочих полезных функций.
Для PHP 7.4 результаты такие:
В общем, для «чистого сайта» результат очень даже ничего.
Теперь берём PHP 8:
Как видите, в данном случае выигрыш заметнее. PHP 8 выигрывал у PHP 7.4 по 5-10 баллов в PageSpeed Insight и 100-200 миллисекунд по событиям DCL и onLoad в DevTools. Так что PHP 8 выигрывает по скорости у версии 7.4 в WordPress.
Как видите, неплохая прибавка, так что есть смысл перейти на PHP 8, если приходится бороться за каждый пунктик в PSI. Конечно, разница не столь заметная, как между PHP 5.6 и PHP 7.4, но она есть.
Вердикт
Да, уже можно ставить PHP 8 для WordPress, он чуть пошустрее, работает стабильно, если нет устаревших тем и плагинов. Если же есть несовместимости, то самое время подумать об обновлении плагинов или темы.
В общем, рекомендую, данный выпуск уже стабилен и работает с большинством популярных тем и плагинов.
На этом с вами прощаюсь, желаю успехов и рабочего кода!