«С 01.02.2023 будет ограничена поддержка наших продуктов на PHP версии ниже 8.0. Рекомендуемая версия PHP - 8.1 и выше. Вы используете версию PHP 7.4.33. Пожалуйста, запланируйте обновление PHP или обратитесь в службу технической поддержки вашего хостинга.»
Версия PHP 7.х объявлена устаревшей и больше не поддерживается, для неё не выпускаются исправления функциональных ошибок и ошибок безопасности. Использование версий PHP ниже 8 крайне не рекомендовано.
Если вы продолжаете использовать старые версии PHP, то не сможете установить обновления для продуктов «1С-Битрикс», что может привести к возникновению ошибок и потенциальным уязвимостям безопасности. Поэтому необходимо обновить версию PHP до минимальной поддерживаемой версии 8.0 или рекомендуемой версии 8.1 в своем серверном окружении.
При обновлении 1С-Битрикс на PHP 8, могут возникнуть различные проблемы, так как переход на новую версию PHP требует адаптации как самого сайта, так и используемых модулей и стороннего кода. Вот основные моменты, которые могут вызвать трудности:
1. Совместимость кода с PHP 8
- Функции, удаленные в PHP 8: Некоторые функции PHP, которые были устаревшими в предыдущих версиях, полностью удалены в PHP 8. Если ваш код или сторонние библиотеки их используют, они перестанут работать.
- Изменения в обработке ошибок: PHP 8 более строго относится к типам данных и использованию функций. Код, который не придерживается строгой типизации, может начать генерировать ошибки.
- Строгая типизация: PHP 8 усиливает контроль типов данных (например, при передаче аргументов в функции). Код, где типы данных не указаны явно, может вызвать ошибки или предупреждения.
2. Неактуальные модули
- Если в проекте используются сторонние модули или дополнения, важно убедиться, что они совместимы с PHP 8. Некоторые модули могут не поддерживаться разработчиками или требовать обновления.
3. Изменения в синтаксисе
PHP 8 ввел ряд новых синтаксических конструкций, таких как:
- Match expression вместо
switch
. - Nullsafe оператор
?->
для работы с объектами, которые могут бытьnull
. - Некоторые старые конструкции и особенности могут не работать так, как ожидалось, что потребует рефакторинга кода.
4. Неподдерживаемые модули Bitrix
В зависимости от используемой версии 1С-Битрикс, могут возникнуть проблемы с совместимостью некоторых модулей системы с PHP 8. Некоторые старые версии модулей могут работать некорректно и потребовать обновления. Желательно проверить на официальных форумах или в документации Bitrix о поддержке PHP 8.
5. Работа с базами данных
PHP 8 может ввести изменения в работу с PDO и MySQL, что может вызвать неожиданные сбои в работе старых запросов. Рекомендуется провести тестирование запросов к базе данных.
6. Новые предупреждения и ошибки
В PHP 8 появилось много новых предупреждений и ошибок, которые могут возникать даже на тех участках кода, которые в предыдущих версиях работали без проблем. Например, ранее некорректная передача аргументов в функции могла не выдавать ошибок, а в PHP 8 это может стать фатальной ошибкой.
7. Кэширование и производительность
Некоторые кэш-системы или механизмы оптимизации, такие как OPcache, могут работать по-другому в PHP 8. Необходимо проверить настройки кэширования, чтобы убедиться, что производительность не ухудшилась.
Что делать перед обновлением:
- Проверить совместимость: Убедитесь, что сама система 1С-Битрикс и все используемые модули поддерживают работу с PHP 8.
- Тестирование: Проведите полное тестирование сайта в среде PHP 8 перед тем, как внедрять изменения на продакшн.
- Обновление модулей: Проверьте и обновите все модули и библиотеки до последних версий, чтобы они были совместимы с PHP 8.
- Бэкап: Сделайте резервную копию сайта и базы данных перед обновлением.
Если подходить к процессу обновления осторожно и протестировать все изменения заранее, можно минимизировать проблемы и обеспечить стабильную работу сайта на PHP 8.