2 arquivos php.ini
-
28-09-2019 - |
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 ?
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.