A versão PHP para superusuário é fcgi em vez de cli

7

Eu tenho um problema estranho com a versão do PHP ao usar o CLI. Quando faço o login como root e uso: php -v Eu recebo uma informação que o php está executando no modo CLI, o que é bom, mas assim que eu uso sudo php -v eu recebo a versão do php-fcgi que freia um pouco do meu código. O problema é que eu tenho o Supervisor configurado para chamar algum processo php (fila do Laravel) e infelizmente ele é chamado no modo fcgi então algumas variáveis não estão disponíveis, assim meu código quebra. Existe alguma solução para isso? Eu estou usando o CentOS 6.5.

    
por user328611 02.06.2014 / 13:37

3 respostas

1

@blackhatblade acima é mais provável coorect. Para testar isso, efetue login como usuário root e não raiz e tente este comando

# which php

$ which php

"which" deve informar o caminho. Se forem diferentes, um "php" não qualificado executará o primeiro encontrado em cada lista de diretórios.

Também é possível que seu usuário root tenha um "alias" de shell que remapeie o php. para verificar isso, tente o comando "alias"

Finalmente, é possível que o seu executável php seja um wrapper de algum tipo, que verifica o ambiente de execução raiz, e o direciona para a versão fcgi. Verifique se examinou o caminho completo que você encontrou na primeira etapa, "which", e veja se é um script de shell fazendo algo dissimulado com base em quem o está executando.

    
por 13.11.2014 / 01:16
0

O conteúdo de $ PATH provavelmente é diferente quando se faz sudoing. Localize o binário correto e dê um caminho completo.

Se o seu programa php for chamado diretamente, edite o shebang para o caminho completo do binário cli.

    
por 25.06.2014 / 20:42
0

Você deve definir a variável de caminho em /etc/environment . & certifique-se de que root & usuário normal tem a mesma variável PATH.

Experimente sudo nano /etc/environment

Faça backup antes de editar o arquivo.

    
por 13.11.2014 / 01:54