Questão Encontre o arquivo php.ini correto


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 eu usei

echo ini_get('post_max_size');

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

Eu tentei reiniciar meu computador pensando talvez isso iria 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?


148
2017-10-12 00:19


origem


o 'correto' está no apache2 subdiretório - Joren
usar updatedb; locate php.ini ao invés de find. - sjas
@Michael O arquivo é /etc/php/5.6/apache2/php.ini no Ubuntu 16.04 LTS Xenial Xerus, onde 5.6/ é a versão do php instalada. Primeiro copie o arquivo para php.original.ini em seguida, abra para editar com sudo gedit /etc/php/5.6/apache2/php.ini - Hedley Finger


Respostas:


Os três arquivos que você tem lá 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 php5-fpm Processador, que é um 'wrapper' compatível com fastcgi para processamento PHP (tal como transferir do NGINX para php5-fpm) e roda como um processo autônomo no sistema (ao contrário do plugin PHP Apache)

Para versões do Ubuntu mais baixo de 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 o seu ambiente, substituindo o 5.6 ou número com a pasta da versão atual que existe em seu ambiente.


256
2017-10-12 02:49



O php.ini não é encontrado no diretório / etc / php5 / apache2. mas está disponível no diretório cli. - Anuj TBE
@ anujsharma9196 A única razão que seria o caso seria se você não estivesse usando o plugin do Apache para PHP. Os caminhos de arquivo ainda funcionam como está listado aqui até hoje (confirmado na minha 15.04 VM) - Thomas Ward♦


Tente executar um script que contenha este snippet no seu navegador <?php phpinfo(); ?> e tente procurar algo como Arquivo de configuração carregado. Esta entrada especifica o php.ini que seu PHP usa em seu servidor Apache.


19
2017-11-05 11:30





para php7 ubuntu 16.4

/etc/php/7.0/apache2/php.ini

11
2017-08-21 07:45



Eu estou sentindo falta desse arquivo. Qual pacote está fornecendo esse arquivo? - galmok
é para php7 no ubuntu 16.4 - Softmixt


Para descobrir qual php.ini o 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

7
2018-06-27 15:54



Esta deve ser a resposta aceita! - Marcelo Ágil