+7 499 938 8452 пн.-пт. 10:00 – 17:00

Версия PHP 7.х объявлена устаревшей и больше не поддерживается, для неё не выпускаются исправления функциональных ошибок и ошибок безопасности. Использование версий PHP ниже 8 крайне не рекомендовано, т.к.

Почему важно обновить PHP

Сайты с версиями ниже 8 теперь становятся мишенью злоумышленников. Вы не сможете установить обновления коробочных версий продуктов «1С-Битрикс» для исправления ошибок и получения нового функционала, пока не обновите PHP до минимальной версии 8.0 или рекомендованной 8.1 в своем серверном окружении. Переход на обновление PHP до минимальной версии 8.0 можно запланировать и перейти с минимальными потерями и/или простоями в работе сайта.

Риски при обновлении версии PHP до 8.х

  1. Ядро проекта - это сам продукт Битрикс. за ошибки и несовместимости отвечает компания Битрикс. На момент написания статьи ядро битрикса стабилизировано в работе на версии php 8.x.
  2. Сторонние модули, установление из маркетплейса. За эти модули отвечают их авторы, часть решений еще не переведено для совместимости работы на php8 на момент написания статьи.
  3. И наконец, код конкретного проекта.

Как обновить PHP

Обновление версии PHP необходимо произвести поэтапно. Очень желательно провести эту операцию на тестовой площадке, т.к. Можно заранее внести исправления в код, чтобы он работал и на версии php8 и на более низких версиях языка, а также понять, какие из модулей вызывают ошибки и требуют либо обновления, либо их удаления, либо исправления обок в коде.

Однако такая предварительная "разведка" занимает больше времени, соответственно, и услуга по переходу на новую версию php8 будет стоить дороже. Можно проводить обновления и на уже работающем проекте ("в бою") без предварительной проверки, но какой бы способ не оказался оптимальным, в любом случае сперва нужно выполнить резервное копирование.

Для обновления нужно обратиться к вашему системному администратору или в техподдержку вашего хостинга, и скорее всего вам потребуется разработчик проекта для исправления ошибок в коде для нового окружения php8.

  1. Обязательно создайте резервную копию вашей установки. Это может быть как резервная копия средствами продукта, так и полностью всего сервера, например виртуальной машины VMBitrix.
  2. Обновите ядро и все модули продукта до последних доступных версий в разделе Настройки > Marketplace > Обновление платформы.
  3. Обновите все сторонние решения из Маркетплейса до последних доступных версий в разделе Настройки > Marketplace > Обновление решений.
  4. Обновите версию PHP до минимальной 8.0 или рекомендованной 8.1 на своем сервере. Если вы используете виртуальную машину VMBitrix, то обновить PHP можно через меню VMBitrix: 1. Manage servers in the pool - 8. Update PHP and MySQL. Подробнее читайте в отдельном курсе.
  5. Еще раз проверьте и установите все доступные обновления платформы и решений из Маркетплейса.

Куда обращаться в случае ошибок при обновлении версии PHP до 8.х

  • Если после обновлений PHP появятся ошибки в работе стандартных модулей продуктов «1С-Битрикс», то обратитесь в Поддержку24. Также по модулям из Маркетплейса, в названия которых содержатся bitrix.*, нужно обращаться в Поддержку24, например: bitrix.eshop bitrix.sitecommunity bitrix.sitecorporate bitrix.siteinfoportal bitrix.sitepersonal bitrix.learningtemplates.
  • По ошибкам в сторонних модулях из Маркетплейса обращайтесь к разработчикам модуля, их контакты указаны на странице этого модуля во вкладке «Поддержка».
  • По ошибкам в коде именно вашего проекта вам необходимо обратиться к автору либо текущему техническому специалисту, поддерживающему проект.

Примеры частых ошибок и их решения

Стоить отметить, что в примерах даны лишь решения ошибок для конкретного модуля. Каждая ошибка должна рассматриваться разработчиком индивидуально.

  • До перехода на PHP 8.х не было обновлено ядро и все модули продукта до последних доступных версий в разделе Настройки > Marketplace > Обновление платформы.
  • До перехода на PHP 8.х не были уставлены обновления сторонних решений (они в названии имеют точку) на странице Marketplace > Обновление решений.
  • Разработчик не обновил модуль для поддержки PHP 8.
  • Вернуться на предыдущую версию PHP 7.x, когда все работало, обновить компоненты системы и сторонние модули, а затем повторно обновить версию PHP до 8.х.
  • Если предыдущие действия не исправили ошибки, то обратиться к разработчику модуля – смотрите раздел выше Куда обращаться в случае ошибок.
  • Временно отключить модуль с ошибкой, переместив его из директории /bitrix/modules.
  • Удалить стороннее решение с ошибкой.

Примеры ошибок в коде после обновления до PHP 8.х

Подключиться по FTP/SFTP или зайти в панель хостинга, включить вывод ошибок в файле /bitrix/.settings.php:. Исправление в общем случае будет таким: в коде нужно правильно объявить статический метод:. Ошибка может появиться после повышения версии PHP до 8.0 и выше.

Сайт при этом работает, но установить или обновить другие решения нельзя, пока сохраняется ошибка. Исправление в общем случае будет таким: в файле /bitrix/modules/<имя.модуля>/install/index.php код:.

Как это выглядит на практике

  • Переход на PHP 8.х в коробочных версиях Битрикс24.
  • Видео "Перевод Битрикс на PHP 8".
  • Миграция с PHP 7.4.x на PHP 8.0.x для разработчиков.
  • Обновление PHP и MySQL (8. Update PHP and MySQL) в битрикс окружении.


Подписаться на новые материалы раздела:












CAPTCHA

Каталог для ИИ