Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > mbstring.func_overload изменить для отдельной папк


Автор: alexesuser 11.9.2020, 11:36
Всем доброго дня. 
Столкнулся со следующей проблемой:
Centos 7, php 5.6.4 и 7.4.9.
На веб-сервере CMS bitrix, для которой установлена директива php: mbstring.func_overload = 2.
Эта директива ломает корректность работы библиотеки по генерации QR-кодов.

Если директиву mbstring.func_overload установить = 0 в самом php.ini, тогда QR код генерируется нормально. 

Пробую изменить этот параметр локально. В настройках Virtualhost папки сайта добавил  такие строки:
Код

<Directory "/home/data/site/qrgen/">
       php_admin_value mbstring.func_overload 0
</Directory>....


Проверяю phpinfo():
Код

Directive                            Local Value  Master Value
mbstring.func_overload              0                  2

Т.е. локально директива вроде изменилась, но скрипт все равно генерирует кривой код.

Почему локальное изменение директивы не отрабатывает? 

Автор: ksnk 11.9.2020, 12:22
alexesuser, библиотека-то большая ? 
Если не большая - можно все строковые функции там вручную переписать на mb_* функции. 
Можно сделать финт - разместить в отдельном каталоге сайта точку входа для получения картинки QR и запрашивать ее с собственного сайта curl или file_get_context через http(s). 
Хотя лучше поискать совместимые с битриксом библиотеки...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)