O php-fpm suporta open_basedir configurado dinamicamente para múltiplos hosts virtuais com um único pool de usuários?

3

Estou com um problema em que tentar definir o open_basedir dinamicamente sob nginx (e apache) para o php-fpm está "perdendo" para outros vhosts ao executar o php-fpm como usuário "nobody" (por motivos legados). / p>

usando

fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/mike/htdocs";

e

fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/adam/htdocs";

onde apropriado para cada host virtual (php 5.3.20)

phpinfo mostra o open_basedir correto sendo configurado, mas eventualmente (bem rápido) eu começo a receber erros quando um dos hosts virtuais vai rodar no open_basedir errado, tentando executar um programa para "mike" mas tendo o open_basedir para "adam".

Como o fastcgi_param está basicamente configurando o ambiente para o php-fpm, o que eu acho que está acontecendo é que o mesmo funcionário terá seu ambiente alterado enquanto ainda estiver processando um arquivo php.

De alguma forma, servidores como litespeed, que também usam um processo fastcgi php (rodando como nobody), acertam e funcionam corretamente com open_basedir podendo ser configurado externamente sem "sangrar" entre virtualhosts.

Então, estou querendo saber se existe um truque ou solução alternativa que eu possa usar para continuar correndo como "nobody" e preservando o ambiente entre vhosts.

Devo observar que estou usando soquetes unix e não tcp / ip, mas não acho que isso faça diferença.

    
por ck_ 26.12.2012 / 08:22

1 resposta

2

Encontrei uma menção do mesmo problema aqui:

link

Eles disseram que conseguiram contornar usando a nova diretiva [host = xyz.xyz] para o php.ini que foi disponibilizada após 5.3

O manual do php.net mostra um comentário avisando que isso não funciona corretamente com o php-fpm, mas esse comentário tem dois anos e pode ter sido resolvido.

link

    
por 27.01.2013 / 11:36