Pergunta

Eu descobri que:

Quando eu digito o seguinte no terminal:

php -i | grep php.ini

Eu recebo a saída:

O arquivo de configuração carregado é @ /etc/php5/cli/php.ini

No entanto, de phpinfo(), Eu posso ver:

O arquivo ini carregado é @ /etc/php5/apache2/php.ini

Qual deles está funcionando agora? Como é possível ter dois php.ini arquivos ?

Foi útil?

Solução

Depende de onde você está executando o PHP. Se você o executar na linha de comando, ele usa o cli/php.ini e apache2/php.ini Quando executado pelo Apache.

Você está executando phpinfo() através do navegador, por isso você recebe /etc/php5/apache2/php.ini como a resposta. Corrida php -r "phpinfo();" | grep "Loaded Configuration" Do terminal deve produzir a CLI ini. Mesma função, mudanças de contexto.

Obviamente, a vantagem deste sistema permitir diferentes configurações, dependendo do contexto. Para um exemplo simplificado, você pode querer ter safe_mode On no Apache, mas é desnecessário no modo CLI.

Sua .ini Os caminhos são realmente bastante incomuns. Normalmente, o padrão .ini é apenas php.ini e cli .ini é chamado php-cli.ini e eles residem na mesma pasta.

Não sou especialista no assunto, mas essa deve ser a ideia básica. Se alguém tiver alguma correção, ficaria feliz em ouvi -los.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top