Всё время забываю, что в последних версиях PHP нельзя выставлять параметры модуля mbstring в .htaccess.
Пора выковать калёным железом где-нибудь на заметном месте:
В последних версиях PHP нельзя выставлять параметры модуля mbstring в .htaccess. Только в php.ini.
Не смотря на то, что в Битриксе всё ещё думают иначе:
php_flag allow_call_time_pass_reference 1 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
Ссылки:
- http://bugs.php.net/bug.php?id=47187&edit=1
- http://blog.itconstruct.ru/opyat-pro-texnologii-surovaya-realnost-raboty-php-529-i-mbstringfunc_overload/
UPD: Удобно менять эти настройки в конфиге Apache’а для конкретного виртуального хоста (как пример, для Битрикса):
<IfModule mod_php5.c> php_value default_charset utf8 php_admin_value mbstring.func_overload 2 php_value mbstring.internal_encoding utf8 php_admin_value realpath_cache_size "4096k" </IfModule>
Поставь в строку
php_admin_value mbstring.func_overload 7
и будет счастье
только конечно 2 а не 7
Не понял что и куда вставить…
В файле виртуалхоста рулится через дерективу php_admin_value
Только это и помогло
php_admin_value mbstring.func_overload 2
php_admin_value mbstring.internal_encoding UTF-8
Просьба в качестве решения добавить в главное сообщение комент из моего поста
Да, остается только так и делать.
Добрый день. Не подскажите, можно ил указать директиву:
PHP_VALUE mbstring.func_overload 2
но исключив при этом одну папку. Чтобы директива не применялась к папке.
А то сея директива требуется для битрикса, а vbulletin с не не работает. Заранее спасибо!
Тоже интересует вопрос, как у Вадима!
Подскажите пожалуйста, можно ли как то исключить одну папку из параметра mbstring.func_overload 2???
Как то так
ServerAdmin webmaster@example.net
DocumentRoot /var/www/vhosts/www.example.net/
ServerName http://www.example.net
php_admin_value mbstring.func_overload 0
php_admin_value mbstring.func_overload 2
…
…
…
Если я прописываю в файле виртуального хоста, значения PHP с пометкой admin «php_admin_value», то стазу выдаёт ошибку 500
Что то не работает ни один вариант. всё перепробовал. все волосы на голове выдрал. а битрикс определять переменную не хочет. во всех вариантах предложенных тут пишет при установке что mbstring.func_overload = 0 (кодировка utf-8 определилась из .htaccess) если же прописываю в апач переменную php_admin_value mbstring.func_overload 2 хост вообще перестаёт отзываться и денвер выводит ошибку 500
Oscora, Itachi261092, посмотрите ошибку в логах апача error/log, там указано в чем проблема, скорей всего.
Для тех,у кого проблемы с битриксом, но есть доступы к настройкам апача.
php_admin_value mbstring.func_overload 7
Order allow,deny
Allow from all
php_admin_value mbstring.func_overload 7
Order allow,deny
Allow from all
Убрать звездочки
php_value mbstring.internal_encoding utf-8
в php версии 5.4 mbstring.internal_encoding меняется
только что проверил
Еще один аргумент в пользу обновления технологий. 🙂
Если у вас VPS Debian 7: ищите файл конфигурации по адресу: /etc/apache2/apache2.conf
В конце этого файла (для каждого сайта) вставляете такие строчки:
php_admin_value mbstring.func_overload 2
Order allow,deny
Allow from all
в php.ini:
[HOST=mysite.ru]
mbstring.func_overload=2
mbstring.internal_encoding=UTF-8
max_input_vars = 10000
realpath_cache_size=4M
upload_max_filesize = 128M
в php.ini в конце файла:
[HOST=mysite.ru]
mbstring.func_overload=2
mbstring.internal_encoding=UTF-8
max_input_vars = 10000
realpath_cache_size=4M
upload_max_filesize = 128M
Это
php_value default_charset utf8
php_admin_value mbstring.func_overload 2
php_value mbstring.internal_encoding utf8
php_admin_value realpath_cache_size «4096k»
Нужно вставлять в .htaccess ?? или куда?
В .htaccess, да.
А у меня с php_admin_value ошибку выдаёт! Я на Open Server пытаюсь сделать, тоже 0 показывает и всё тут. Можно конечно в конфиге PHP разкомментировать строчку и поставить 2, но как быть с другими сайтами, которые не на битрикс?
php_admin_value лишнее, достаточно php_value.
В конфиге апача (не в .htaccess), можно прописать директивы для конкретной папки. В случае с несколькими сайтами, прописывайте mbstring в конфиге апача для конкретной папки.
Спасибо за информацию!!!!!