Bitrix переход php 8

1С-Битрикс переходит на PHP8. Чем это нам грозит?

Привет, друзья! Мы компания X3Group – системный интегратор, разработчик корпоративных порталов и приложений на Битрикс24. Мы так же занимаемся разработкой и техническим сопровождением сайтов на «1С-Битрикс: Управление сайтом».

С 1 февраля 2023 года 1С-Битрикс прекратил поддержку продуктов на PHP версии ниже 8.0. Что это такое и чем это грозит владельцам сайтов? Давайте по порядку.

Эту статью попросили нас написать наши менеджеры. Слишком большой поток вопросов и они попросили наш технический отдел написать в одном месте простыми словами весь процесс перевода сайта на работу на новой версии PHP.

Если кратко – PHP, это язык программирования, на котором написаны большинство веб-сайтов. А мы обновляем интерпретатор, который переводит с языка программирования для сервера все команды. В итоге мы видим работающий сайт. Это если очень просто объяснить.

К нам сейчас приходит много обращений по поводу уведомления, которое висит в административной части веб-сайтов на CMS от 1С-Битрикс: «С 01.02.2023 будет ограничена поддержка наших продуктов на PHP версии ниже 8.0. Рекомендуемая версия PHP — 8.1 и выше. Вы используете версию PHP 7.4.33. Пожалуйста, запланируйте обновление PHP или обратитесь в службу технической поддержки вашего хостинга». Что это такое и что с этим делать.

Понимаем, что для большинства наших клиентов все эти нюансы – темный лес. Но постараемся описать как можно проще.

Наша рекомендация: надо повышать версию PHP на своём сервере минимум до версии 8.0! Это, в первую очередь, связано с повышением безопасности вашего сайта. Во вторую очередь это связано с тем, что если не обновлять серверное окружение, то вы не сможете пользоваться современными технологиями, которые более совершенны, быстрее и защищённее от внешних воздействий. Ну, и как следствие — установка обновлений для вашего сайта будет невозможна.

Читайте также:  Post to query string php

Дело в том, что последние обновления имеют слишком много изменений и программы, написанные на старой версии PHP с большой долей вероятности не будут работать на новой версии. Как следствие, все программы должны быть предварительно адаптированы под новую версию PHP8, а это, иногда, не так просто. 1С-Битрикс свою часть работы сделал. Но обычно сайты дорабатывались, на них ставились сторонние решения (которые могут уже не обновляться разработчиками). Со всем этим надо тоже решать, что делать. Для крупного, постоянно развивавшегося сайта, это может быть большой проблемой, требующей значительных ресурсов разработчиков.

Перед переводом сайта на новую версию PHP мы делаем следующие работы:

1. Делаем полную резервную копию сайта

Обязательное действие перед каждым обновлением сайта, которое позволит вернуться к исходной версии.

2. Обновляем и тестируем работу сайта с PHP 8 на отдельном сервере или тестовом хостинге

Первое правило любого разработчика – не накатывайте обновления сразу на боевой сайт. Сначала разверните отдельный сервер или тестовый хостинг и протестируйте на нём работоспособность обновлённого сайта. Резервный сервер должен иметь возможность переключаться между разными версиями PHP – обновления нам надо будет делать на старой версии PHP, потом переключать на PHP8 и установить остальные обновления (обновления на старой версии PHP могут подставиться не все).

3. Обновляем ядро платформы 1С-Битрикс: Управление сайтом

Обновите версию системы управления сайтом от 1С-Битрикс до актуальной.

4. Обновляем до последней версии все сторонние модули, установленные на сайте

Если на сайте есть не обновлённые сторонние модули – их следует обновить. Не факт, что есть обновления для всех модулей или что вообще установленные модули на данный момент поддерживаются. Как раз тут уже приходится либо искать замену модулю (или удалять его, если он не критичный или не используется) или проводить его доработку самостоятельно.

5. Проверяем совместимость доработок с PHP 8

Если на сайте были доработки, скорее всего они делались еще до появления PHP8 и не учитывали новые требования. Адаптацию таких доработок тоже необходимо будет выполнить.

6. Поднимаем PHP до версий 8.0-8.1

После всех доработок мы поднимаем версию PHP и проводим повторное тестирование работы сайта уже на новой версии, исправляя все вылезшие ошибки. Ставим последние обновления и сайт готов к переносу.

Скорее всего, старый сервер уже не подойдет вам, поэтому либо мы проводим работы сразу на новом сервере, который будет в последствии использоваться как «боевой», либо подготавливаем новую рабочую площадку под сайт и переносим на нее обновленный и доработанный сайт.

После переноса останется только перенаправить домен на новый сайт. Таким образом, для внешнего пользователя промежуток недоступности сайта будет минимальным.

Если у вас нет под рукой необходимых специалистов – обращайтесь за помощью в техподдержку нашей компании. Позвоните нам по номерам +7 (499) 404-24-84 или +7 (3852) 55-58-07, напишите на электронную почту [email protected] или отправьте сообщение в открытые линии на сайте x3group.ru.

Источник

Пошаговая инструкция по переходу сайтов на 1С-Битрикс на PHP 8.x: идеальный и нестандартный методы

«Битрикс» обновил все свои модули и штатные компоненты для работы с PHP 8 и активно принуждает разработчиков сторонних решений обновить код своих продуктов. Вплоть до удаления решения, если оно не поддерживает 8-ю версию. При этом выполнить переход сайта с CMS Bitrix на PHP 8.x не так просто, как кажется на первый взгляд.

Если вы используете сайт под управлением 1С-Битрикс любой редакции и ваш сайт работает на PHP версии ниже 8.0 — вы можете лицезреть вот такую надпись в админ панели своего сайта:

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

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

На первый взгляд очевидно, что нужно просто перейти на работу сервера в связке с PHP 8-ой версии. Ок. Идем в панель управления хостингом. Находим наш сайт, переходим в настройки и выбираем нужную версию PHP. Можно выбрать сразу 8.2 последнюю. к примеру, в панели ispmanager это делается здесь:

Переходим на сайт для проверки и с вероятностью 99,99% ваш сайт сломается или вообще выдаст белый экран.

Все просто. В новой версии PHP немного изменились требования к написанию кода и то, что разрешалось в версии 7.4, например, теперь вызывает ошибку и сайт ломается. Получается для работы сайта необходимо, чтобы весь код соответствовал новым требованиям. Как известно Битрикс — это система управления, состоящая по большей части из ядра и публичной части. С ядром все понятно, но остается сторонний код: это и шаблон, и свои компоненты, и сторонние модули, установленные из Макретплейса Битрикс. Вот в них и заключается вся боль.

Мы рассмотрим два сценария обновления сайта. Первый — идеальный (правильный, рекомендуемый), а второй — нестандартный (комбинированный метод)

1. Так как «Битрикс» уже все обновил и настроил под использование 8-ки, прежде чем изменять настройки сервера, мы должны обновить ядро через стандартный функционал «Битрикс». Естественно для этого у вас должна быть активная поддержка на решение. Если нет, и вы видите надпись, что срок поддержки вашей лицензии окончен, то необходимо продлить ее, купив за 25% от стоимости лицензии. Редакцию вашей лицензии вы можете увидеть все в том же разделе /bitrix/admin/update_system.php?lang=ru в секции «Ответ сервера обновлений».

2. Теперь переходим в установленные решения.

В этом разделе нас интересуют все сторонние решения, установленные на сайте. Их необходимо также обновить. Конечно, есть платные и бесплатные решения. Бесплатные обновляем, а на платных смотрим срок поддержки активен или нет. Если нет, то каждое решение необходимо продлить. Условия продления могут быть разными, но обычно это 50% от стоимости решения. Подробнее вы можете посмотреть на странице Маркетплейса, кликнув по названию этого решения.

3. После обновления ядра и всех сторонних модулей переходим к тому, с чего начинали: производим настройку на стороне хостинга, выставив нужную версию.

Результат: Если сайт небольшой, относительно новый и создавался с использованием стандартных компонентов Битрикс (с минимальными внесениями изменений) или на каком-либо готовом решении, то он запустится без каких-либо проблем. К сожалению, за нашу практику мы ни разу не встретили сайт, который достаточно просто обновить. Так что нам такой вариант не подходит. Поэтому мы работаем по второму сценарию.

Данный метод пригодится если у вас:

  • свой уникальный шаблон;
  • кастомные компоненты;
  • решения, не поддерживаемые более разработчиками, но необходимые вам для работы (например, решение «Аспро Медицинский центр 2.0» официально не поддерживается более разработчиком, и к нему не выпускаются никакие обновления);
  • вносились правки в ядро;
  • нет желания или возможности продлевать решение по какой-либо другой причине, например, потому что слишком дорого.

С этим нам чаще всего и приходится работать.

Сразу оговоримся, лицензия на решение 1С-Битрикс у вас должна быть активной в любом случае. Вносить правки в ядро — отчаянный шаг.

1. Создаем полную резервную копию сайта.

2. Обновляем ядро, как и в рекомендуемом способе. Если вы вносили изменения в ядре или штатных компонентах, то вам необходимо перенести все измененные файлы в папку local.

3. Переходим в установленные решения и обновляем все, что можно обновить. Если и сторонние решения правили, то переносим все изменения и доработки в local-папку.

4. Далее включаем вывод ошибок в настройках, файл /bitrix/.settings.php.

5. Затем настраиваем хостинг и активируем 8-ку.

6. После переходим на сайт и видим ошибки. Читаем текст ошибки и вносим изменения в файлы указанные в тексте ошибки. Информации по типовым ошибкам море. Вот лишь несколько примеров, которых будет достаточно для практически любого сайта:

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

  • Если вы не видите ошибок, а видите белый экран, ищите их в исходном коде (Ctrl + U).
  • Просмотрите все страницы вашего сайта. На каждой странице может использоваться разный функционал и если у вас типовая услуга, то это не значит, что, устранив проблемы на одной странице, вы избавитесь от других.
  • Обязательно проверьте интерактив сайта, попробуйте произвести все функциональные тесты: отправить форму, проверить калькуляторы, воспользоваться поиском по сайту.
  • Проверьте ошибки в консоли (F12).
  • Проведите проверку системы штатным инструментом /bitrix/admin/site_checker.php?lang=ru. Здесь может оказаться много подсказок в случае проблем.

Описанное выше может решить штатный администратор сайта. Углубляться детальнее нет смысла. Более сложные моменты требуют специальных знаний.

Таким способом мы уже перевели на новые рельсы практически всех наших клиентов. А теперь решили поделиться инструкцией. И если понадобится, готовы помочь реализовать ее.

Источник

PHP8: что это такое и как перейти на новую версию

С первого февраля 2023 года 1С-Битрикс ограничил поддержку своих продуктов на PHP версии ниже 8.0. Это значит, что обновление сайтов будет невозможно, а их безопасность под угрозой. Чтобы исправить положение, необходимо обновить версию PHP, желательно до 8.1.

Это язык программирования, который используют для создания динамических сайтов. Сегодня он является одним из самых популярных, почти 80% веб-ресурсов работают на его базе.

У каждой PHP-версии есть свой жизненный цикл. Сначала ее разрабатывают, тестируют и выпускают для общего пользования. Следующие два года версия активно обновляется, программисты убирают баги, которые проявляются во время эксплуатации. Затем 12 месяцев идет минимальная поддержка — в основном вносятся изменения, которые относятся к угрозам безопасности. После этого версия полностью перестает поддерживаться. Ею можно пользоваться, но это не безопасно.

Чтобы помочь вам с переходом на PHP 8+, мы подготовили для вас небольшую

инструкцию. Необходимо выполнить следующие пункты:

  • Проанализировать систему 1С-Битрикс на наличие ошибок
  • Проверить хостинг на соответствие требований к PHP 8+
  • Выполнить резервное копирование сайта;
  • Обновить до последней версии все модули INTEC;
  • Обновить ядро платформы 1С-Битрикс;
  • Проверить совместимость доработок с PHP 8;
  • Повысить PHP до версии 8.0-8.1.

Источник

Оцените статью