Problemas com permissões de dados da sessão, vários UIDs em vários conjuntos PHP-FPM

1

Eu executo um servidor nginx com 40 webapps idênticos em 40 portas diferentes em 40 pools PHP-FPM diferentes. Cada pool é executado em um usuário separado.

Meu sessions.save_path em php.ini é /tmp/php_sessions . Digamos que eu visite primeiro http://mywebsite.com:5007 . Eu posso observar este arquivo pop-up em /tmp/php_sessions :

-rw------- 1 www-data07 www-data07     0 jan.  17 00:35 sess_bb84gmtago2u33g1jmtbhdcu80

Depois, visito http://mywebsite.com:5008 . No meu navegador, eu posso ler este erro

Warning: Unknown: open(/tmp/php_sessions/sess_bb84gmtago2u33g1jmtbhdcu80, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/tmp/php_sessions) in Unknown on line 0

Entendo que isso ocorre porque o usuário www-data08 está tentando gravar em um arquivo em que apenas www-data07 tem permissões de gravação. Mas por que o www-data08 não faz seus próprios dados da sessão? Como posso consertar isso?

    
por Magnus 17.01.2018 / 00:55

1 resposta

0

Eu estava um pouco rápido no gatilho aqui. No meu caso particular, o problema era que todos os 40 webapps compartilhavam o mesmo cookie no meu navegador. Quando mudei da porta 5007 para a porta 5008, meu navegador estava tentando continuar minha sessão a partir da porta 5007, mas com um UID de back-end diferente.

    
por 17.01.2018 / 01:06