Encontre o arquivo php.ini correto

145

No momento, estou tentando localizar o arquivo php.ini correto para editá-lo e reiniciar o apache para que as alterações ocorram e fiquei perplexo.

Eu encontrei três arquivos php.ini diferentes (não sei por que existem três)  foi assim que encontrei os arquivos

$ sudo find / -name php.ini
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cgi/php.ini

Eu também fiz ....

$ sudo php -i | grep 'Configuration File'
Configuration File (php.ini) Path => /etc/php5/cli
Loaded Configuration File => /etc/php5/cli/php.ini

Eu mudei todos eles (só para ter certeza) para as configurações que eu queria.

Eu reiniciei o apache usando

sudo service apache2 restart

Os resultados ...

* Restarting web server apache2

Eu recarreguei a página e mostrei que o arquivo php.ini não foi atualizado.

Eu sei disso porque usei

echo ini_get('post_max_size');

Que deveria ser alterado para 20M, mas ainda era apenas 2M

Eu tentei reiniciar o computador, pensando que isso poderia parar o servidor apache e recarregar o arquivo php.ini com a configuração correta, mas, infelizmente, essa tentativa também falhou.

Existe alguma chance de haver outro arquivo php.ini que possa estar interferindo?

    
por Michael 12.10.2013 / 02:19

4 respostas

247

Os três arquivos que você possui são destinados a diferentes usos.

/etc/php/5.6/cli/php.ini é para o programa PHP CLI, que você encontrou executando php no terminal.

/etc/php/5.6/cgi/php.ini é para o sistema php-cgi que não é especificamente usado nesta configuração.

/etc/php/5.6/apache2/php.ini é para o plugin PHP usado pelo Apache. Este é o que você precisa editar para que as alterações sejam aplicadas à sua configuração do Apache.

/etc/php/5.6/fpm/php.ini é para o processador php5-fpm , que é um 'wrapper' compatível com fastcgi para processamento PHP (como passar do NGINX para php5-fpm ) e é executado como um processo independente no sistema (diferentemente de o plugin do Apache PHP)

  

Para versões do Ubuntu inferiores a 16.04, /etc/php/5.6/ , /etc/php/7.0/ , /etc/php/7.1/ e assim por diante são substituídos por /etc/php5/ e assim por diante. Caso contrário, esses caminhos permanecem precisos. Adapte isso de acordo com seu ambiente, substituindo o 5.6 ou o número pela pasta da versão atual que existe em seu ambiente.

    
por Thomas Ward 12.10.2013 / 04:49
19

Tente executar um script que contenha este snippet no seu navegador <?php phpinfo(); ?> e, em seguida, tente procurar por algo como Loaded Configuration File . Esta entrada especifica o php.ini que seu PHP usa em seu servidor Apache.

    
por Justin Paul Paño 05.11.2013 / 12:30
10

para php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini
    
por Softmixt 21.08.2016 / 09:45
5

Para descobrir qual php.ini a CLI está usando, você pode executar:

php -i | grep 'php.ini'

Exemplo de saída:

$ php -i | grep 'php.ini'

Configuration File (php.ini) Path => /etc/php/7.0/cli
Loaded Configuration File => /etc/php/7.0/cli/php.ini
    
por Gianfranco P. 27.06.2017 / 17:54

Tags