PHP / Apache é executado como usuário no Ubuntu Server

5

Eu tenho um script PHP (em /var/www ) que deve gravar os logs de operação em um arquivo deploy.log (também em /var/www ) e executar operações em um arquivo localizado em outros diretórios do sistema. (Como /home/<user>/repo/my-repo.git e /srv/pr ). No entanto, não está fazendo isso atualmente. Quando eu mudo a permissão do meu arquivo de log para 777 , o PHP é capaz de escrevê-lo para aquele arquivo. Por razões óbvias, não consigo manter as permissões em 777.

Eu li em algum lugar que os arquivos que você deseja operar devem ter as mesmas permissões que o usuário que executa os arquivos PHP. Então, como eu descubro que o PHP roda sob qual usuário? Se essa não é a abordagem correta, como isso pode ser resolvido?

Estou usando o Ubuntu 14.x no Amazon EC2.

Eu também tentei definir sudo chown -R ubuntu:ubuntu /var/www para a pasta www inteira, mas meu script PHP ainda não grava no arquivo de log.

    
por Gaurav Wadhwani 03.05.2015 / 20:54

1 resposta

3

O usuário que executa o apache / php é www-data .
Execute sudo chown -R www-data:www-data /var/www/deploy.log para tornar o arquivo editável pelo servidor da Web.
Os outros arquivos nos quais você deseja executar operações também precisam ser graváveis pelo servidor da Web.

    
por Pabi 03.05.2015 / 21:00