Bitrix и настройки PHP

Для корректной работы Битрикс в файле php.ini должны быть указаны соответствующие значения:

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

Но теперь все остальные сайты на хостинге так же получают эти настройки, что не всегда есть хорошо.

В версиях PHP до 5.3 можно было управлять этими переменными с помощью файлов .htaccess, например так:

<IfModule mod_php5.c>
  php_value mbstring.func_overload 2 
  php_value mbstring.internal_encoding UTF-8 
</IfModule>

Но начиная с версии PHP 5.3 изменять в .htaccess mпеременные mbstring.func_overload и еще кучу других нельзя. Ни с помощью php_admin_value, ни с помощью php_value. Как вариант, можно отредактировать файл настроек виртуального хоста Apache:

<Directory /home/user/www>
  php_value mbstring.func_overload 2 
  php_value mbstring.internal_encoding UTF-8
</Directory>

Но далеко не всегда это возможно, например если вы хоститесь на shared-хостинге и доступ к настройкам отсутствует. Но теперь можно задавать параметры для каждого конкретного хоста можно в соответствующих разделах php.ini, которые в PHP начиная с версии 5.3.

Правим php.ini:

[HOST=www.yousite.ru]
mbstring.func_overload=2
mbstring.internal_encoding UTF-8