Привет! Скажите, правильно ли я понимаю, что происходит со значениями fastcgi_param PHP_ADMIN_VALUE в связке nginx - php-fpm?
Например, у нас есть такой кусок конфига:
location = /a.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$uri;
fastcgi_param PHP_ADMIN_VALUE "open_basedir = $document_root:/test-$msec";
include fastcgi_params;
}
location = /b.php {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$uri;
include fastcgi_params;
}
Файлы a.php и b.php показывают open_basedir:
<?php
echo ini_get('open_basedir');
И fpm-пул с
total processes: 3.
Когда мы открываем /a.php, в один из процессов пула передается наш странный open_basedir, и скрипт его показывает. Когда мы открываем /b.php и несколько раз жмем F5, мы видим по очереди либо пустоту, либо значение, которое видели на странице /a.php. Если несколько раз обновить /a.php, а затем обновлять /b.php, мы будем по кругу наблюдать три значения, переданных из локейшна /a.php.
То есть значения из fastcgi_param PHP_ADMIN_VALUE ... сохраняются внутри процесса, и, если их не передать явно, при следующем запросе, обработанном этим процессом, будут использоваться последние сохраненные?
Правильно ли я понимаю, что если у нас только один location, отправляющий запрос на fpm, мы с этим (имхо, не вполне очевидным) поведением не столкнемся? Или есть какие-то еще подводные камни? Есть какой-нибудь внятный текст об этом механизме?
Спасибо )