WordPress скоро обновится до версии 5.6, которая нацелена на совместимость с PHP 8. Однако команда WordPress предупредила, что эту версию следует считать «бета-совместимой», и объяснили, почему обновление до PHP 8 в настоящее время должно выполняться с осторожностью.
Справочная информация о PHP
PHP – это язык программирования, который запускается на сервере для создания веб-страницы. Сам WordPress создан на языке PHP.
Текущая версия PHP – PHP 7x. «X» – которые в настоящее время представляют собой 7.2, 7.3 и 7.4.
Версии до 7.2 достигли «конца жизненного цикла» (EOL) и больше не обновляются с помощью исправлений безопасности.
Самая старая версия, 7.2, должна достичь EOL 30 ноября 2020 года. Это означает, что она больше не будет получать обновления безопасности и по этой причине станет потенциальной угрозой безопасности для любого сайта, все еще использующего ее, если уязвимость будет обнаружена в будущее.
Версия 7.3 должна выйти на EOL 6 декабря 2021 года.
Издателям нужно до 2022 года обновляться до PHP 8?
Текущая и самая последняя версия PHP 7.x – это версия 7.4. PHP 7.4 достигнет EOL 8 ноября 2022 года.
Это означает, что технически у издателей WordPress есть два года, чтобы решить, когда обновить свою версию PHP до PHP 8. На практике, однако, большинство издателей WordPress должны иметь возможность обновиться до PHP 8 задолго до этого времени.
Почему WordPress 5.6 является бета-совместимым
WordPress объявил, что последняя версия WordPress, которая должна выйти в декабре 2020 года, должна быть совместима с PHP 8. Однако WordPress предупредил, что все еще возможно, что необнаруженные несовместимости которые все еще могут существовать.
Это признание того факта, что хотя основная установка WordPress может быть совместима с PHP 8, все же существует вероятность того, что что-то было упущено из виду.
Вот как это сформулировано в руководстве WordPress 5.6 PHP 8 :
«WordPress Core стремится быть совместимым с PHP 8.0 в версии 5.6 (в настоящее время запланировано на 8 декабря 2020 г.).
… Значительные усилия были приложены к тому, чтобы WordPress 5.6 сам по себе был совместим с PHP 8, но весьма вероятно, что остаются не обнаруженные проблемы ».
Факт наличия «не обнаруженных проблем» не является негативным заявлением о выпуске WordPress 5.6. Это прагматическое признание того, что в программировании, как и во многих других инженерных разработках, почти всегда существует вероятность возникновения непредвиденных ошибок или упущений.
Возможно, более важным соображением является неопределенность в отношении того, когда темы и плагины станут совместимыми с PHP 8. Это больше, чем что-либо другое, может способствовать тому, чтобы WordPress не считался полностью совместимым с PHP 8.
Официальное руководство WordPress 5.6 сообщало:
«Также следует признать, что WordPress никогда не используется изолированно (без какой-либо темы или плагинов), поэтому возможность работы WordPress на PHP 8 не означает «полную» совместимость.
Состояние поддержки PHP 8 в более широкой экосистеме (плагины, темы и т.д.) Узнать невозможно. По этой причине WordPress 5.6 следует считать «бета-совместимой» с PHP 8. »
WordPress 5.6 «Бета-совместима» с PHP 8
В разработке программного обеспечения обычно есть две окончательные версии выпуска. Есть альфа-версия, а затем бета-версия. Бета-версия обычно считается почти готовой к выпуску. Бета-версия программного обеспечения – это то, что предшествует окончательной версии программного обеспечения.
Поэтому, когда WordPress говорит, что версию 5.6 следует рассматривать как «бета-совместимую», это означает, что могут быть ошибки, которые еще не были обнаружены.
Поскольку темы и плагины еще могут быть несовместимы с PHP 8, вероятно, будет разумным не обновлять их до тех пор, пока все плагины и темы не будут проверены на совместимость с PHP 8.
Но даже после того, как темы и плагины станут совместимыми с PHP 8, все же может быть разумным подождать еще как минимум несколько месяцев для обновления.
Причина в том, что PHP 8 – это серьезное обновление. Хотя темы и плагины могут считаться совместимыми с PHP 8, почти неизбежно, что ошибки и другие проблемы будут обнаружены в темах и плагинах, совместимых с PHP 8, которые установлены на сайте.
Сможет ли обновление до PHP 8 сломать сайты WordPress?
Многие старые функции PHP из 7.x удалены из PHP 8, а это означает, что темы и плагины, которые все еще их используют, не работают в PHP 8.
Wordfence недавно подсчитал, что только для одной из функций в настоящее время установлено более 5 500 плагинов на миллионах сайтов. Хотя в некоторых случаях эти функции используются для обратной совместимости, это не так для всех из них.
«… Мы определили, что create_function все еще используется в более чем 5 500 плагинах WordPress, включая чрезвычайно популярные плагины с миллионами установок. В некоторых случаях использование этих устаревших функций может быть предназначено для обратной совместимости со старыми версиями PHP.
Однако многие плагины потребуют обширного рефакторинга по мере того, как PHP 8 становится более популярным ».
Yoast недавно опубликовал исследование о готовности плагинов и тем к PHP 8 в экосистеме WordPress.
Критические изменения в PHP 8
В разделе своего отчета, посвященном тестированию плагинов и тем, Yoast заключил :
«Лишь небольшой процент доступных плагинов, наиболее популярных и профессионально разработанных, имеют автоматизированные тесты. Это вызывает беспокойство, поскольку, вообще говоря, на среднем сайте WordPress работает около 19 или 20 плагинов.
… Однако, более всего, плагины / темы, которые имеют тесты, вероятно, являются теми, где можно ожидать наименьшего количества проблем PHP 8.0, поскольку они используют модель профессионального развития.
Гораздо больше поводов для беспокойства вызывает множество плагинов и тем без тестов, поскольку они с большей вероятностью будут проблематичными при запуске на PHP 8. “
Отчет от Yoast заключает:
«PHP 8 будет содержать много критических изменений».
«Критические изменения» – это ссылка на изменения, которые приводят к ошибке, когда тема или плагин использует код, который больше не поддерживается в PHP 8.
PHP 8 и WordPress
PHP 8 представляет собой важный шаг вперед для издательского мира, особенно для пользователей WordPress. Одно из преимуществ – повышенная безопасность.
Руководство WordPress относительно обновления до PHP 8 требует осторожности:
«… Настоятельно рекомендуется тщательно протестировать свой сайт перед обновлением до PHP 8.»
Тот факт, что сам WordPress называет WordPress 5.6 «бета-совместимым» с PHP 8, говорит вам все, что вам нужно знать о том, следует ли вам обновляться до PHP 8 или нет.
Источник записи: https://blog.digitalmagiciann.com