mbstring.func_overload в BitrixVM

mbstring.func_overload в BitrixVM
Часто возникает задача сделать индивидуальные настройки php mbstring.func_overload для разных сайтов на BitrixVM. Самая частая ситуация - это необходимость установить для разных сайтов разные директивы: mbstring.func_overload=2 и mbstring.internal_encoding UTF-8, т.к. разные языковые версии сайтов и разные версии ядра битрикс могут требовать различных комбинаций этих двух параметров php.

Если версия PHP меньше 5.2.9 (старые версии битрикс)


Можно использовать самый простой вариант, если на сервере версия PHP меньше 5.2.9  - это задать эти директивы в файле .htaccess каждого сайта.
Для этого нужно перейти в папку сайта. В виртуальной машине bitrix она находится в /home/bitrix/www/.htaccess или /home/bitrix/ext_www/домен сайта/.htaccess и в самом начале файла, вне тегов "IfModule"   прописать:


php_value mbstring.internal_encoding UTF-8
php_value mbstring.func_overload 2

Если версия PHP больше 5.2.9

С выходом PHP версии 5.2.9 пропала возможность настраивать некоторые параметры в файле .htaccess, теперь эти параметры настраиваются в php.ini или в конфиге Apache’а для конкретного сайта. В виртуальной машине битрикса работает автоматическая конфигурация которая сбросит настройки, если их указать непосредственно в конфиге, сразу после перезагрузки сервера, поэтому параметры надо указывать в специальных пользовательских файлах.

для сайта в папке /home/bitrix/www/ переходим по пути:
/etc/httpd/bx/conf/default.conf
И видим примерно следующее:
<Directory /home/bitrix/www/>
   Options Indexes FollowSymLinks MultiViews
   AllowOverride All
   DirectoryIndex index.php index.html index.htm
   Order allow,deny
   allow from all
   php_admin_value session.save_path /tmp/php_sessions/www
   php_admin_value upload_tmp_dir /tmp/php_upload/www
</Directory>
В конце добавляем нужные значения для параметров mbstring.func_overload=2 и mbstring.internal_encoding UTF-8. Выглядеть будет примерно так: 
...
   php_admin_value mbstring.internal_encoding UTF-8
   php_admin_value mbstring.func_overload 2
</Directory>
Индивидуальная настройка php для сайтов/доменов из директории /home/bitrix/ext_www виртуальной машины битрикс находится по пути:
 
/etc/httpd/bx/conf/bx_ext_ВАШ-ДОМЕН.conf
После внесения всех настроек перегружаем Apache service httpd restart .