Encontre o arquivo php.ini correto


170

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

Eu encontrei três arquivos php.ini diferentes (não faço ideia 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

Alterei todos eles (apenas para ter certeza) para as configurações desejadas.

Eu reiniciei o apache usando

sudo service apache2 restart

Os resultados...

* Restarting web server apache2

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

Eu sei disso porque eu costumava

echo ini_get('post_max_size');

Que deveria ser alterado para 20 milhões, mas ainda era apenas 2 milhões

Tentei reiniciar meu computador pensando que talvez isso parasse o servidor apache e recarregasse 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?


6
o 'correto' está no apache2subdiretório
— Joren 12/10

1
use em updatedb; locate php.inivez de find.
— S28 de

/etc/php/5.6/apache2/php.ini@ Michael O arquivo está no Ubuntu 16.04 LTS Xenial Xerus, onde 5.6/está a versão do php instalada. Primeiro copiar o arquivo para php.original.ini, em seguida, abra para edição com sudo gedit /etc/php/5.6/apache2/php.ini
— Hedley Dedo

Respostas:


290

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

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

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

/etc/php/5.6/apache2/php.inié para o plugin PHP usado pelo Apache. É esse 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-fpmprocessador, que é um 'wrapper' compatível com fastcgi para processamento PHP (como transferir do NGINX para php5-fpm) e é executado como um processo autônomo no sistema (ao contrário do plugin Apache PHP)

Para versões do Ubuntu mais baixos do que 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.6número ou pela pasta da versão real existente em seu ambiente.


1
O php.ini não foi encontrado no diretório / etc / php5 / apache2. mas está disponível lá no diretório cli.
— Anuj TBE 05/06

2
@ anujsharma9196 O único motivo seria se você não estiver usando o plug-in do Apache para PHP. Os caminhos de arquivo ainda funcionam como listado aqui até hoje (confirmado na minha VM 15.04)
— Thomas Ward

21

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


14

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

Essa deve ser a resposta aceita!
— Marcelo Ágil

1
Isso é bom, mas dará ao CLI as configurações carregadas apenas para php. Para carregar as configurações do apache, é necessário fazer o phpinfo () em uma página da web.
— Dipu Raj

13

para php7 ubuntu 16.4

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

1
Estou faltando esse arquivo. Qual pacote está fornecendo esse arquivo?
— galmok

é para php7 no ubuntu 16.4
— Softmixt

1

Você pode encontrar o arquivo que está sendo usado executando isto no terminal:

php --ini
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.