@soulrogi

Как для каждого сайта назначить свой PHP.INI или изменить его параметры через NGINX?

На борту стоит: nginx+php-fpm и два сайта один в CP1251 а другой UTF-8
Для ютиэфного необходимо выставить
mbstring.func_overload =2
mbstring.internal_encoding = UTF-8

Пытался реализовать через конфиг nginx:

server{
fastcgi_param PHP_value 'mbstring.func_overload =2
mbstring.internal_encoding = UTF-8';
}

Но не помогло.
Как можно реализовать?
  • Вопрос задан
  • 9177 просмотров
Пригласить эксперта
Ответы на вопрос 3
noway
@noway
В конфиге nginx параметры PHP_VALUE нужно через ; прописывать, а не отдельными вызовами.

Например:
fastcgi_param PHP_VALUE "mbstring.func_overload = 2; mbstring.internal_encoding = UTF-8; max_input_vars = 10000; realpath_cache_size = 4096k";
Ответ написан
Комментировать
@iamFake
в конфиге php-fpm для конкретного хоста пишем:

php_admin_value[mbstring.func_overload] = 2
php_admin_value[mbstring.internal_encoding] = UTF-8

в итоге получится что-то вроде:
[some-host.tld]
listen = ...
...
php_admin_value[mbstring.func_overload] = 2
php_admin_value[mbstring.internal_encoding] = UTF-8
Ответ написан
Комментировать
Gem
@Gem
Вам не в сторону nginx смотреть надо, а в сторону php-fpm
Попробую вкратце
nginx работает только со статикой - динамику проксирует
в общем случае на php-fpm иногда на apache (вообще хоть на ISS)
соответственно - делаем несколько инстантсов бекенда на php-fpm c разными настройками
а в конфигах вхостов нжинкса прописываем нужные инстансы
Вопросы?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы