PHP 8 и WordPress – личный опыт
Доброго времени суток, уважаемые посетители!
Если вы открыли и читаете данный материал, то, скорее всего, как и я в своё время, озаботились вопросом, а что вам даст переход на PHP 8 и вообще стоит ли игра свеч?
Содержание:
Преимущества PHP 8 для WordPress
Не вдаваясь глубоко в технические детали и нюансы скажу – переход в обязательном порядке необходимо провести. Это даст существенный прирост в скорости обработки скриптов, что в свою очередь позволит куда быстрее формировать (как узнать скорость генерации страниц в WordPress) и отдавать сервером страницы, которые были запрошены пользователями.
Всё обрабатывается и открывается существенно быстрее, нежели это происходило в PHP 5.6 версии.
Если всё так радужно, то почему многие хостинги по умолчанию по сей день в настройках активируют именно PHP 5.6? Ответ очевиден – хостер заведомо не знает, какой движок будет использовать клиент, плагины для него и так далее. Потому то и ставит максимально совместимый обработчик скриптов, которым является версия PHP 5.6.
Ошибки PHP 8 и WordPress
WordPress же уже давно полностью готов и корректно функционирует с PHP 8, как и плагины, а также темы (шаблоны с дизайном), обновление которых происходит время от времени. Однако если же вы используете какой-либо плагин (или тему) в WordPress, который обновлялся последний раз года четыре назад, то проблема может возникнуть.
Однако проверяется это достаточно легко – визуальной проверкой функционала, что реализуется плагинами в движке WordPress.
Также для проверки корректности функционирования стоит включить DEBUG режим в WordPress (как его включить), и посмотреть лог файл, который создаётся в случае наличия ошибок. Если в нём будут прописываться ошибки, то стоит обратить внимание на файл и путь к нему, который эту самую ошибку вызывает .
Как я уже говорил, WordPress полностью готов к PHP 8 и никаких ошибок в логе быть не должно. В моём случае ошибок не было вовсе, причём на всех сайтах, которые я переводил на PHP 8. Однако это связанно с тем, что я в своей работе использую малое количество плагинов, и преимущественно популярных, которые время от времени обновляются.
Однако если у вас лог будет писаться ошибка, то стоит найти её причину. Вероятнее всего причиной ошибки (даже если визуально всё работает корректно, как и до перевода на PHP 8) будет являться устаревший плагин. В этом случае необходимо подыскать замену старому плагину, который не только не отвечает современным требованиям, но и может являться потенциально уязвимым.
Необходимо понимать, что любой плагин является дополнением к WordPress, который в свою очередь неустанно обновляется сообществом разработчиков. И даже если сейчас всё прекрасно, то в новой версии WordPress может быть упразднена\заменена та или иная функция, и плагин не только не сможет выполнять свои обязанности, но и вовсе «поломает» работоспособность сайта.
Я не говорю про многочисленные незакрытые уязвимости, которые существуют в старых плагинах. В злонамеренных целях было создано множество полностью автоматизированных роботов-сканеров, которые ежедневно сканируют сайты на предмет использования уязвимых плагинов, с помощью которых впоследствии осуществляется взлом сайта и размещение на страницах вредоносного кода и т.п.
Так что использование давно не обновлявшихся плагинов, как, впрочем, и игнорирование обновлений самого движка WordPress – чревато.
Как перевести WordPress на PHP 8
Перевод движка WordPress на PHP 8 звучит громко, и даже в некоторой степени пугающе, по факту же всё сводится к паре кликов в админ-панели хостинга.
Зайдите в админ-панель, найдите опцию, которая отвечает за используемую версию PHP, и переключите используемую в текущий момент версию PHP на версию 8.
Если вы не знаете, как это можно сделать, то адресуйте письмо с этим вопросом службе поддержки вашего хостинга.
И помните: если что-то пойдёт не так, то вы в любой момент можете вернуться к ранее используемой версии PHP.
Пожалуй, это всё, что я хотел поведать вам в данном материале :-) Не забывайте про комментарии и делитесь своими результатами перевода движка WordPress на работу с PHP 8.