O php.ini é o arquivo de configuração do PHP — é nele que se define o comportamento da linguagem no servidor: quanto de memória cada script pode usar, por quanto tempo pode rodar, se os erros aparecem na tela, o tamanho máximo de upload e dezenas de outros ajustes. Cada linha do arquivo é uma “diretiva”: um parâmetro com um valor.
Se você já se deparou com um erro de “memory size exhausted”, um upload que falha por ser grande demais, ou uma tela em branco sem mensagem de erro, a solução quase sempre passa pelo php.ini. Este guia explica o que é o arquivo, como descobrir onde ele está, como editá-lo (pelo cPanel ou direto no servidor), e quais são as principais diretivas que você pode ajustar.
O php.ini é o arquivo que controla o comportamento do PHP no servidor. Cada linha é uma diretiva no formato diretiva = valor (por exemplo, memory_limit = 256M). Para descobrir onde ele fica, rode php --ini no terminal ou use a função phpinfo(). Em hospedagem compartilhada, você normalmente não edita o arquivo direto: ajusta as diretivas pelo painel (no cPanel, em Select PHP Version → Options). Em VPS ou servidor dedicado, edita o arquivo diretamente.
O que é o php.ini
O php.ini é o arquivo de configuração principal do PHP. Toda vez que o PHP é iniciado, ele lê esse arquivo para saber como deve se comportar: quais recursos liberar, quais limites impor, o que fazer com os erros. É, na prática, o painel de controle da linguagem no servidor.
O nome vem do formato do arquivo: .ini (de initialization), um formato de texto simples usado para configuração. Cada configuração é uma diretiva, escrita como uma chave e um valor separados por um sinal de igual:
memory_limit = 256M
max_execution_time = 30
display_errors = Off
upload_max_filesize = 64M Linhas que começam com ponto e vírgula (;) são comentários — o PHP as ignora. É por isso que, ao abrir um php.ini, você vê muitas linhas começando com ;: são diretivas desativadas ou explicações.
Onde fica o arquivo php.ini
A localização do php.ini varia conforme o sistema operacional e a forma como o PHP foi instalado — não há um único lugar fixo. Mas há duas formas rápidas de descobrir onde ele está.
Pelo comando php –ini
Se você tem acesso ao terminal (SSH), o jeito mais direto é rodar:
php --ini O comando mostra o caminho do arquivo carregado (na linha “Loaded Configuration File”) e de eventuais arquivos adicionais. Em sistemas Linux, o php.ini costuma ficar em caminhos como /etc/php/8.x/apache2/php.ini ou /etc/php/8.x/cli/php.ini — note que pode haver arquivos diferentes para o PHP do servidor web (Apache) e o da linha de comando (CLI).
Pela função phpinfo()
Se você não tem acesso ao terminal, mas pode subir um arquivo PHP para o site, crie um arquivo com este conteúdo e acesse-o pelo navegador:
<?php phpinfo(); ?> Na página gerada, procure por “Loaded Configuration File” — é o caminho do php.ini em uso. Um cuidado importante: apague esse arquivo depois de consultar, porque o phpinfo() expõe muitos detalhes do servidor que podem ajudar um atacante.
Como editar o php.ini
Aqui está a parte que mais gera dúvida, porque depende do tipo de hospedagem. Depois de qualquer alteração, confirme que ela pegou: acesse novamente o phpinfo() (ou rode php -i) e veja se a diretiva está com o novo valor.
Na maioria das hospedagens compartilhadas, o php.ini é um arquivo global do servidor, compartilhado por todos os sites — por isso você não tem permissão para editá-lo diretamente. Em vez disso, o painel oferece uma interface para ajustar as diretivas só do seu site. No cPanel, isso fica em Select PHP Version → Options. As alterações feitas ali valem apenas para a sua conta, com segurança.
No cPanel (hospedagem compartilhada)
Este é o caminho para a maioria dos sites hospedados. No cPanel:
- Acesse o cPanel e clique em Select PHP Version (Selecionar versão do PHP).
- Clique em Switch To PHP Options (ou “Options”).
- Você verá a lista de diretivas ajustáveis (memory_limit, max_execution_time, upload_max_filesize, display_errors, etc.).
- Clique no valor da diretiva que quer mudar, escolha o novo valor e salve.
As mudanças entram em vigor na hora, sem precisar reiniciar nada, e afetam só o seu site. É o método recomendado para quem está em hospedagem compartilhada.
Editando o arquivo diretamente (VPS ou dedicado)
Se você tem um VPS ou servidor dedicado, com acesso de administrador, edita o arquivo diretamente:
- Localize o arquivo com
php --ini. - Abra-o com um editor de texto (por exemplo,
nano /etc/php/8.x/apache2/php.ini). - Encontre a diretiva (a busca do editor ajuda), altere o valor e salve.
- Reinicie o serviço para aplicar: o Apache (
systemctl restart apache2) ou o PHP-FPM, conforme o seu setup.
O passo 4 é o que muita gente esquece: ao editar o arquivo direto, a mudança só vale depois de reiniciar o servidor web ou o PHP-FPM. Sem isso, o PHP continua com a configuração antiga em memória.
Criando um php.ini próprio na hospedagem compartilhada
Muitas hospedagens compartilhadas, mesmo sem dar acesso ao php.ini global, permitem que você crie um arquivo de configuração próprio na pasta do seu site. Dependendo do servidor, ele se chama php.ini ou .user.ini, e vale só para o seu diretório e subpastas.
Pelo gerenciador de arquivos do cPanel, na raiz do site (public_html), crie um arquivo novo chamado php.ini (ou .user.ini) e adicione só as diretivas que quer mudar, uma por linha:
memory_limit = 256M
upload_max_filesize = 64M
max_execution_time = 120 O .user.ini é o mecanismo do PHP (em instalações com PHP-FPM ou CGI) para configurações por diretório — funciona de forma parecida com o que o .htaccess faz para o Apache. Após criar o arquivo, a mudança pode levar alguns minutos para valer (o PHP relê o .user.ini periodicamente). Se o cPanel tiver o MultiPHP INI Editor, ele oferece essa mesma edição por uma interface gráfica, sem criar o arquivo à mão.
Pelo .htaccess ou ini_set (alternativas)
Há ainda duas formas de ajustar diretivas sem tocar no php.ini, úteis quando você não tem acesso a ele:
- No .htaccess (só em Apache), com
php_value nome_da_diretiva valor. - No próprio código PHP, com a função
ini_set('diretiva', 'valor')— mas só funciona para diretivas que podem ser mudadas em tempo de execução.
Nem toda diretiva pode ser alterada por esses meios: algumas só valem se definidas no php.ini. Mas para ajustes comuns (como memory_limit ou display_errors), costumam funcionar.
As principais diretivas do php.ini
O php.ini tem dezenas de diretivas. Estas são as que você mais provavelmente vai precisar ajustar, agrupadas por finalidade:
| Diretiva | O que controla |
|---|---|
memory_limit | Memória máxima que um script pode usar |
max_execution_time | Tempo máximo que um script pode rodar |
upload_max_filesize / post_max_size | Tamanho máximo de upload e de dados enviados |
display_errors / error_reporting | Se e quais erros aparecem na tela |
max_input_vars / max_input_time | Quantidade e tempo de processamento de dados de entrada |
| allow_url_fopen | Se o PHP pode abrir arquivos por URL remota |
date.timezone | Fuso horário padrão usado pelas funções de data |
session.save_path | Onde as sessões são armazenadas |
Algumas dessas diretivas têm guias próprios com o passo a passo detalhado:
- Como aumentar o memory_limit (resolve o erro “Allowed memory size exhausted”).
- Como alterar o max_execution_time (resolve “Maximum execution time exceeded”).
- Como ajustar o upload_max_filesize e post_max_size (resolve falhas em uploads grandes).
- Como resolver o erro de register_globals em aplicações legadas.
- Como exibir os erros do PHP com display_errors e error_reporting (resolve a “tela branca” sem mensagem).
- Como ajustar o max_input_vars e max_input_time (resolve menus e formulários que não salvam tudo).
- O que é o allow_url_fopen e quando ativá-lo com segurança (acesso a URLs remotas).
Cuidados ao editar o php.ini
O php.ini é poderoso, e um valor errado pode ter efeitos indesejados:
- Valores muito altos de memory_limit ou max_execution_time podem deixar um script problemático consumir recursos demais do servidor — em vez de resolver, mascaram o problema real.
- display_errors ligado em produção expõe caminhos de arquivos e detalhes internos a qualquer visitante; deve ficar ligado só em desenvolvimento.
- Erros de sintaxe no arquivo (uma diretiva escrita errado) podem impedir o PHP de iniciar. Ao editar direto, mude uma diretiva por vez e teste.
- Cuidado com php.ini em nível de diretório e malware: arquivos php.ini locais são um alvo conhecido de ataques — é comum malware criar ou alterar um php.ini numa pasta para mudar o comportamento do PHP sem ser notado. Se encontrar um php.ini que você não criou, ou diretivas estranhas num arquivo seu, investigue: pode ser sinal de site comprometido.
Uma boa prática, ao editar o arquivo diretamente, é comentar a linha original (colocando ; na frente) e adicionar a nova logo abaixo, em vez de sobrescrever — assim você tem o valor antigo à mão para reverter.
Perguntas frequentes
O que é o arquivo php.ini?
É o arquivo de configuração do PHP. Ele é lido toda vez que o PHP inicia e define o comportamento da linguagem no servidor: limites de memória e tempo, exibição de erros, tamanho de upload e muitos outros ajustes. Cada configuração é uma diretiva, escrita no formato diretiva = valor.
Onde fica o php.ini?
A localização varia conforme o sistema operacional e a instalação. Para descobrir, rode php --ini no terminal e veja a linha “Loaded Configuration File”, ou crie um arquivo com <?php phpinfo(); ?>, acesse pelo navegador e procure o mesmo campo. Em Linux, costuma ficar em caminhos como /etc/php/8.x/apache2/php.ini.
Como editar o php.ini na hospedagem compartilhada?
Em hospedagem compartilhada você normalmente não edita o arquivo diretamente, porque ele é global. Use o painel: no cPanel, acesse Select PHP Version e depois Options, onde é possível ajustar as diretivas só do seu site. As mudanças valem na hora e afetam apenas a sua conta.
Por que minha alteração no php.ini não fez efeito?
Se você editou o arquivo diretamente num VPS ou servidor dedicado, provavelmente faltou reiniciar o serviço: as mudanças só valem após reiniciar o Apache ou o PHP-FPM. Verifique também se editou o php.ini correto — pode haver um arquivo para o Apache e outro para a linha de comando (CLI), além de confirmar o caminho com php –ini.
Como ver as configurações atuais do PHP?
Crie um arquivo com <?php phpinfo(); ?>, envie para o seu site e acesse pelo navegador: a página mostra todas as diretivas e seus valores atuais. Lembre-se de apagar o arquivo depois, pois ele expõe informações do servidor. Pela linha de comando, php -i mostra as mesmas informações.
Posso mudar configurações do PHP sem acesso ao php.ini?
Sim, em muitos casos. No Apache, você pode usar o arquivo .htaccess com php_value diretiva valor. No próprio código, a função ini_set() altera diretivas em tempo de execução. Nem toda diretiva aceita esses métodos, mas os ajustes mais comuns, como memory_limit e display_errors, costumam funcionar.
Na Homehost você ajusta memory_limit, upload, versão do PHP e todas as diretivas direto pelo cPanel, em poucos cliques — e conta com suporte em português para configurar o ambiente ideal para o seu site.
Conhecer a hospedagem HomehostConclusão
O php.ini é o centro de controle do PHP: um arquivo de texto onde cada diretiva ajusta um aspecto do comportamento da linguagem. O essencial para dominá-lo: descubra onde ele está com php --ini ou phpinfo(); edite pelo caminho certo — no cPanel (Select PHP Version → Options) se você está em hospedagem compartilhada, ou direto no arquivo (lembrando de reiniciar o serviço) se tem VPS ou dedicado; e conheça as diretivas principais — memory_limit, max_execution_time, upload_max_filesize, display_errors — que resolvem a maioria dos problemas do dia a dia. Com o php.ini sob controle, ajustar o ambiente PHP deixa de ser tentativa e erro e vira configuração consciente.
Para consumir APIs e fazer requisições HTTP a partir do PHP, veja também o guia de cURL no PHP.