Давно уже планировал совершить переезд с своего старенького 5.6 php на 7.2 . Но пугала необходимость проверять совместимость скриптов и плагинов для работы на новом PHP.
Зачем это делать?

Версии языка программирования PHP 5.6.x перестанут получать обновления безопасности, что означает окончательное прекращение поддержки версий из ветви PHP 5.x. Это произойдет после 31 декабря 2018 года, об этом сообщили разработчики.

А значит через время появятся дыры и сайты начнут ломать.
Также на Хабре появились сравнения по скорости разных версий php на дефолтном WordPress:

Скорость загрузки выросла почти в 3 раза. Ясное дело что если вы используете кеш на WP преимущества вы не получите, но все равно рост радует.
На моем виртуальном хостинге в Cpanel есть возможность выбора версий php (Программное обеспечение-Выбор версии PHP)

Выбор версии в Cpanel

Правда не спешите переключаться на php 7.2 . Сначала убедитесь что у вас после перехода все будет работать.

Как нужно переходить на новую версию php 7.2

  • Делаем полный бекап сайтов и баз данных MySQL
  • Устанавливаем и настраиваем себе XAMPP.
  • Пошагово проверяем каждый сайт на ошибки

Если у вас нет опыта установки с сайта WordPress на XAMPP то вот вполне неплохая инструкция по подключению.

Еще пару советов — редактируйте все файлы с помощью notepad++ (или аналогичной программой) , а не Блокнотом.
На XAMPP зайдите в папку xampp\htdocs и отредактируйте wp-config.php
define( 'WP_DEBUG', true ); // false - отключить показ ошибок
После включения на true будут показываться ошибки на php.

С какими ошибками я столкнулся на новой 7.2 php

Плагины которые я удалил:

  • Shutter Reloaded — удалил 7 лет без обновления. Там просто море ошибок
  • WordPress FileMonitor Plus — давно его не использую

Плагины которые изменил:
Проблема была в плагине RusToLat (плагин устаревший, но работает)
add_options_page('RusToLat', 'RusToLat', 8, __FILE__, 'rtl_options_page');
заменил на
add_options_page('RusToLat', 'RusToLat', 'edit_pages', __FILE__, 'rtl_options_page');
В плагине wp special textboxes который выдавал
Deprecated: Function create_function() is deprecated in D:\xampp\htdocs\wp-content\plugins\wp-special-textboxes\wp-special-textboxes.php on line 48
заменил
if (class_exists("special_text")) {
add_action('widgets_init', create_function('', 'return register_widget("special_text");'));
}
?>

на
if (class_exists('special_text')) {
add_action('widgets_init', function(){
register_widget('special_text');
});
}

Также часть плагинов создавались для меня под заказ. В них использовалась библиотека Simple_html_dom.php.
Она не поддерживает 7.2 , точнее поддержка есть в ее форках.
Исправить ее можно очень легко — заменить в фразе:
function file_get_html($url, $use_include_path = false, $context=null, $offset = 0, $maxLen=-1, $lowercase = true, $forceTagsClosed=true, $target_charset = DEFAULT_TARGET_CHARSET, $stripRN=true, $defaultBRText=DEFAULT_BR_TEXT, $defaultSpanText=DEFAULT_SPAN_TEXT)
Выделенной переменной присвоить 0 а не -1.

Ну и в конце: так как весь процесс может занять 5-7 часов вашего времени рекомендую делать сам процесс обновления ночью.

Автор

С 2007 года занимаюсь созданием контент проектов и их монетизацией. Seo специалист, блоггер.

16 комментариев

  1. seoonly.ru Ответить

    Жаль, что с рустулат придется шаманить

    • Андрей Ответить

      А рустулат вообще ещё нужен? Вроде бы уже неактуален, сам вордпресс это может делать..

    • aleks Ответить

      rustolat работает без проблем на 7.2, ничего не правил
      про 5-7 часов улыбнуло

      • Евгений Молдовану

        У меня много сайтов, причем часть с самописными фичами. Php не знаю, поэтому некоторые решения пришлось и гуглить и спрашивать.

  2. Alex Black Ответить

    Ха-ха! Ну ты и слоупок =) Уже пора на 7.3 переходить =)))

    • Евгений Молдовану Ответить

      Просьба понять и простить :)

  3. Владимир Ответить

    Прирост скорости на картинке красивый, но в реальном проекте такого не будет. На 20-30% быстрее будет работать в лучшем случае, не более. Это касается и wordpress, и bitrix. На глаз вообще разницы не заметите.

  4. Jkeks Ответить

    Заодно пришлось сменить сервак.. Дольше ждать смены ns.. Зато теперь тоже выбор версии Php

  5. Александр Ответить

    При таких переездах порой возникают ошибки, это у многих неизбежно. Кстати ваши замечания по ошибкам многим помогут при таких же переходах.

  6. Александр Ответить

    Отсутствие поддержки — это аргумент. А вот прирост скорости всего лишь красивая картинка.

  7. Владислав Ответить

    Тоже это ждет. Планы по технической части блога есть, но пока только планы. Лень :)

  8. Виталий Ответить

    А если допилов потвордпрессу не было? Не проще ли заново переставить ВордПресс и переустановить плагины?

    • Евгений Молдовану Ответить

      Это не поможет. Сам вордпресс поддерживает 7.2. Проблема только в устаревших плагинах и возможно теме.

  9. Дмитрий Ответить

    А не проще проверить ошибки сразу на хостинге, в случае чего можно ведь всегда назад откатить? Или это чревато какими-то осложнениями?

    • Евгений Молдовану Ответить

      Можно и так. Но у меня полдесятка сайтов на хостинге. Часть ошибок которые появились — решения на них не было, поэтому я их спрашивал у программистов.
      Если вы в состоянии их самостоятельно решить — можно и сразу включить.

Написать комментарий