Ошибка при установке 1с-bitrix (1с битрикс) в кодировке utf-8. - mbstring.func_overload = 0
Недавно столкнулся с такой проблемой, что cms 1с-bitrix не хочет устанавливаться в кодировке utf-8 из за того, что значение директивы php_value mbstring.func_overload в настройках сервера равно 0, а для того чтобы продолжить установку необходимо чтобы параметр php_value mbstring.func_overload имел одно из этих значений: 2, 3, 6 7
В чем же проблема, ведь можно прописать этот параметр php_value mbstring.func_overload в файле .htaccess, который находится в корневом каталоге сайта?
То что у меня в файле .htaccess, который находится в корневом каталоге сайте:
php_flag short_open_tag On
php_flag session.use_trans_sid off
#php_value display_errors 1
php_value mbstring.func_overload 2
php_value mbstring.internal_encoding UTF-8
Но это не работает!
Т.к. скорее всего какой то bug в сервере apache. Ссылка откуда я это взял: https://bugs.php.net/bug.php?id=47187&edit=1
Кому лень читать или переводить, то вот о чем там говорится:
Setting for mbstring.func_overload in .htaccess is not reflected.Другими словами, установки для mbstring.func_overload в .htaccess не устанавливаются. Началось это с версии php 5.2.8 , сейчас же у меня используется версия php 5.3.x и до сих пор этот баг не исправлен. Может быть конечно так и задумано... Как будто сами разработчики 1c bitrix не знают, что эта директива mbstring.func_overload не работает через .htaccess, т.к. советуют использовать версию php выше 5.3 , а вариантом решения этой проблемы предлагают раскомментировать #php_value mbstring.func_overload 2 в .htaccess , которой у меня вообще не было.
Версия 1с-bitrix "Управление сайтом": 12.0.3, пакет: СТАРТ Что же делать? Варианты решения:
1) Написать своему хостинг провайдеру в службу поддержки, чтобы они в ручную изменили в настройках сервера значение этой директивы. Лично я так решил проблему.
2) И если же у вас собственный сервер, то:
1 вариант:
В файле httpd.conf вашего сервера, добавить следующий код: <Directory "/your_path/egroupware"> php_admin_value mbstring.func_overload 7 Order allow,deny Allow from all </Directory>
!!! При этом не добавляйте никакие строки в .htaccess и php.ini
2 вариант:
В файле php.ini раскомментировать директиву mbstring.func_overload=2 или же дописать её, если её нет.
Синтаксис использования директивы mbstring.func_overload везде разный, будьте внимательны.
Лично я не пробовал 1 и 2 варианты решения этой проблемы, но надеюсь это сработает.
Решения были найдены в интернете.