Заказать звонок
Логин
Пароль
Войти как пользователь
Логин
Пароль
Войти как пользователь

Свежее обновление Битрикса. Необходимо удалить настройку PHP mbstring.func_overload

16 ноя 2020
#Важное
#Разработчику
Сегодня многие столкнулись с проблемой при обновлении Битрикса. Предупреждение звучит так:
Для обновления продукта необходимо удалить настройку PHP mbstring.func_overload. Пожалуйста, внесите необходимые изменения или обратитесь в службу технической поддержки вашего хостинга..

Немного предыстории.

Битрикс всегда требовал настройку на сервере в виде:
php_value mbstring.func_overload = 2
php_value mbstring.internal_encoding = UTF-8

Эта устаревшая настройка, которая до сих пор тянулась из версии к версии. Из-за нее требовалось использовать специально настроенный сервер под Битрикс. Если вы используете виртуальную машину Bitrix VM, тут никаких проблем не было. Но если вы использовали виртуальный хостинг, то большинство таких хостингов не давали менять эту настройку и делали специальные тарифы для сайтов на 1С-Битрикс (которые, замечу, были дороже).
Сейчас же, если вы хотите запустить небольшой сайт, не требующий больших ресурсов, вы можете использовать любой виртуальный хостинг.

Но что же делать тем, кто увидел эту ошибку? А особенно тем, у кого после обновления поломалась часть функционала сайта или облачной CRM?

Как починить


Все просто. Если вы используете виртуальную машину Битрикса, вам нужно ее обновить до версии 7.4.4 и выше. В этих версиях удалена устаревшая опция mbstring.func_overload. После обновления все отлично заработает.
Если у вас несколько сайтов и один из них на непродленной лицензии Битрикса, который нельзя обновить, то только для него отдельно нужно будет прописать старую настройку mbstring.func_overload = 2этой статье написано как это сделать.

Если вы используете простой виртуальный хостинг, то обратитесь к техподдержке хостинга с просьбой убрать mbstring.func_overload.

Решение для Timeweb

Многие пишут о проблеме с обновлением на хостинге TimeWeb. На нем можно отключать и включать параметр mbstring.func_overload прямо в .htaccess. И при отключении ее там, получают ошибку, подробнее можете ознакомиться ниже в комментариях.

Несколько пользователей подтвердили решение проблемы:
Заходим в админке в Настройки -> Проактивная защита -> Проактивный фильтр и на вкладке исключения добавляем в исключения /bitrix/*

Как вариант, можете просто отключить проактивную защиту, обновиться и потом ее включить.
  • Комментарии
Загрузка комментариев...