Временное значение (локальное значение) с nginx php FPM - PullRequest
3 голосов
/ 18 июля 2011

У меня много запросов, но ответов не найдено.

У меня не будет много пула PHP FPM, я хочу, чтобы он был похож на mod_php, а в nginx я написал:

fastcgi_param PHP_VALUE "open_basedir = /var/xxx/";

Работает, но объявляет open_basedir для всей жизни процесса, который выполнил скрипт php (я провел тесты). В phpinfo() значение open_basedir (это) отображается как локальное значение, так и главное значение.

Я думаю, что, например, создайте файл fastcgi_param со значением по умолчанию PHP_VALUE для безопасности (он, конечно, никогда не пойдет, но это принцип безопасности), если сервер {} не переопределил open_basedir другие значения изменены (не много). Мне не нравится это окончательное переопределение, оно опасно, я тону.

Вы знаете, как объявить FPM, что fastcgi_param всегда являются временными ?? Как Apache php_admin_value ... !!!

Я не нашел ответа, но он слишком глуп, чтобы не существовать!

1 Ответ

2 голосов
/ 07 ноября 2012

Ваши тесты верны. Заданное значение php_value сохраняется в процессе fastcgi, пока не будет установлено новое значение. Это может помешать другим требованиям к виртуальному хосту.

Идея php fpm заключается в том, чтобы использовать разные пулы для разных значений php / ini, читайте: разные настройки виртуального хоста и среды php. Поэтому вам, вероятно, нужно определить новые пулы php-fpm для разных виртуальных хостов.

Если вы не хотите определять новые пулы, вам необходимо перезаписать все параметры php_value, установленные для других виртуальных хостов. Это подвержено ошибкам!

...