У меня много поиска, но ответов не найдено.
у меня не будет много пула PHP FPM, я хочу, чтобы он был как mod_php, а в nginx я писал:
fastcgi_param PHP_VALUE "open_basedir = /var/xxx/";
Он работает, но он объявляет open_basedir для обеспечения жизненного цикла процесса, который выполняет сценарий php (я сделал тесты). В phpinfo()
значение open_basedir
(this) появляется как локальное значение, так и значение master.
Я думаю, что файл PHP_VALUE
значением по умолчанию для PHP_VALUE
для безопасности (это, конечно, никогда не будет, но это принципиально безопасно), если сервер {}
не переопределил open_basedir
или другие измененные значения (не много). Мне не нравится это окончательное переопределение, это опасно, я тону.
Вы знаете, как объявить FPM, что fastcgi_param
всегда временные? Как Apache php_admin_value
… !!!
Я не нашел ответа, но это слишком глупо, потому что не существует!
Ваши тесты верны. Установленное значение php_value является постоянным в процессе fastcgi, пока не будет установлено новое значение. Это может помешать другим требованиям виртуального хоста.
Идея php fpm состоит в том, чтобы использовать разные пулы для разных настроек php value / ini, читайте: разные настройки среды виртуального хоста и php. Поэтому вам, вероятно, нужно определить новые пулы php-fpm для ваших разных виртуальных хостов.
Если вы не хотите определять новые пулы, вам нужно будет перезаписать все параметры php_value, установленные для других виртуальных хостов. Это склонно к ошибке!