top
Вход
Ваш Битрикс24
Авторизуйтесь, чтобы войти
в Битрикс24 вашей компании.
Вход

Поддержка24

Коробка: ограничение работы системы обновлений

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

В ближайшем будущем система обновлений заблокирует установку новых обновлений, если настройки вашего сервера не удовлетворяют техническим требованиям:

  • Должно быть установлено расширение PHP mbstring.

  • Параметр default_charset в php.ini должен быть заполнен.

  • Параметр mbstring.internal_encoding в php.ini должен быть равен параметру default_charset.

  • Если установка работает в кодировке UTF-8, то параметр default_charset и результат вызова mb_internal_encoding() должны быть равны UTF-8.

  • Если установка работает не в кодировке UTF-8, то параметр default_charset и результат вызова mb_internal_encoding() должны быть равны той кодировке, в которой работает установка.

  • Если используется веб-сервер Apache, но в нем должен быть установлен модуль mod_rewrite.

  • Версия PHP должна быть не ниже 7.2.0, рекомендуемая – 7.4.

Как настроить однобайтовую кодировку на CentOS 7

Самое главное – добавить mb_internal_encoding('Windows-1251'); в файл /bitrix/php_interface/dbconn.php.

Проверяем, правильно ли работает система:

var_dump(strtoupper("Москва"));
var_dump(mb_strtoupper("Москва"));

Результат выполнения команды:

string(6) "Москва"
string(6) "??????"

Видим ошибку. Проверяем, есть ли локаль cp1251 в системе. Если ответ 0 – нет, если 1 - есть:

[root@sitemanager ~]# locale -a | grep ru_RU.cp1251 -ic
0

Добавляем локаль в систему:

[root@sitemanager ~]# localedef -c -i ru_RU -f CP1251 ru_RU.CP1251

Проверяем:

[root@sitemanager ~]# locale -a | grep ru_RU.cp1251 -ic
1

Перезагружаем веб-сервер:

[root@sitemanager ~]# systemctl restart httpd.service

Добавляем настройки в /bitrix/php_interface/dbconn.php:

setlocale(LC_ALL, 'ru_RU.CP1251' );
setlocale(LC_NUMERIC, 'C' );
mb_internal_encoding('Windows-1251');

Проверяем:

var_dump(strtoupper("Москва"));
var_dump(mb_strtoupper("Москва"));

Получаем правильный результат:

string(6) "МОСКВА"
string(6) "МОСКВА"


Спасибо, помогло!
Спасибо :)
Не помогло
Очень жаль :(
Уточните, пожалуйста, почему:
Это не то, что я ищу
Очень сложно и непонятно
Оставить отзыв