
🔍 Onde está localizado o php.ini no WordPress: encontrar e configurar definições
Plugin não instala, o upload do tema é interrompido a meio? O painel de administração mostra «Allowed memory size exhausted»? Na maioria das vezes, a culpa é de um único ficheiro: o php.ini.
Este é o ficheiro de configuração principal do PHP: define quanta memória alocar aos scripts, durante quanto tempo os executar e que tamanhos de ficheiro aceitar. Nos alojamentos típicos, estes limites são definidos em baixo, o fornecedor poupa recursos.
Abaixo, onde encontrar o php.ini em qualquer ambiente (WAMP, XAMPP, Linux, cPanel) e quais as cinco diretivas a editar para o WordPress em 2026. Com números específicos, sem suposições.
💡 Visão geral rápida:
- Crie um ficheiro PHP de teste com a função
phpinfoe veja imediatamente o caminho para ophp.iniem qualquer servidor - No WAMP, XAMPP e cPanel, o caminho está disponível através da interface, sem necessidade de editar código
- Configurações chave para o WordPress: memory_limit, max_execution_time, upload_max_filesize, post_max_size e max_input_vars
- Após as alterações, verifique os limites reais via
phpinfo()ou WP-CLI para garantir que o alojamento não ignorou as modificações
O que é o php.ini e porquê mexer-lhe
O php.ini é um ficheiro de texto com diretivas que controlam o comportamento do PHP no servidor. É carregado a cada início de processo PHP e define limites: memória, tempo de execução, tamanho de ficheiro de upload, nível de erro.
Para o WordPress, cinco diretivas são críticas. O memory_limit aloca RAM para o processamento de páginas; temas e construtores modernos (Gutenberg, Elementor) exigem facilmente 256 MB ou mais. O max_execution_time limita os segundos de execução do script: se um plugin importar conteúdo de demonstração ou o WooCommerce gerar relatórios, os 30 segundos padrão garantem uma interrupção. O upload_max_filesize e o post_max_size controlam os uploads: um ZIP de tema pode pesar mais de 40 MB, e o limite do alojamento é de 2 MB. Por fim, o max_input_vars limita o número de variáveis POST; com 1000 itens de menu e um padrão de 2000, a gravação do menu é interrompida sem aviso.
Boas notícias: o php.ini pode ser editado mesmo em alojamento partilhado barato. Más notícias: primeiro é preciso encontrá-lo, e o caminho depende do sistema operativo, painel de controlo e método de instalação do PHP (módulo Apache, CGI/FastCGI, PHP-FPM).
Como encontrar o php.ini: método universal via phpinfo()
A forma mais fiável, que funciona em qualquer servidor, é criar um ficheiro PHP de teste com a função phpinfo().
Crie um ficheiro com qualquer nome e extensão .php (por exemplo, info.php) e coloque lá dentro:
1 <?php phpinfo(); ?>
Envie o ficheiro para a raiz do site (via FTP, gestor de ficheiros do alojamento ou WP-CLI) e abra no navegador: https://your-site.com/info.php.
Na página aberta, encontre a linha Loaded Configuration File, este é o caminho completo para o php.ini ativo. Se o PHP correr como módulo Apache, o caminho será mostrado na linha Configuration File (php.ini) Path; neste caso, o próprio ficheiro pode não existir e precisa de ser criado manualmente.
Após verificar, elimine o info.php imediatamente, pois revela detalhes da configuração do servidor, o que não é seguro.
Onde está o php.ini no WAMP
No WAMP (ambiente Windows: Apache + MySQL + PHP), o caminho para o php.ini está disponível diretamente na bandeja do sistema.
Clique com o botão direito no ícone do WAMP, passe o rato sobre PHP e selecione php.ini; o ficheiro abrirá num editor de texto. Se o ambiente tiver várias versões do PHP, certifique-se de que selecionou aquela em que o site está a correr (visível na bandeja: WAMP → PHP → Version).
Caminho alternativo via menu do WAMP: clique com o botão esquerdo no ícone → PHP → php.ini. O ficheiro reside fisicamente em C:\wamp64\bin\php\phpX.Y.Z\php.ini (ou C:\wamp\bin\... para versões mais antigas).
Onde está o php.ini no XAMPP

No XAMPP em Windows e Linux, o caminho para o php.ini é através do painel de controlo. Abra o Painel de Controlo do XAMPP e clique no botão Config na linha do módulo Apache. No menu suspenso, selecione PHP (php.ini); o ficheiro abrirá no editor.
Se não houver botão Config (versão antiga do XAMPP), vá diretamente a: C:\xampp\php\php.ini no Windows ou /opt/lampp/etc/php.ini no Linux.
Após as alterações, reinicie o Apache com o botão Stop → Start no painel de controlo.
Onde está o php.ini no Linux (VPS / dedicado)
Num servidor Linux sem painel de controlo, o php.ini encontra-se com um comando de terminal:
1 php -i | grep "Loaded Configuration File"
O resultado será algo como:
1 Loaded Configuration File => /etc/php/8.2/cli/php.ini
Nuance importante: o PHP para linha de comandos (CLI) e para servidor web (Apache/Nginx) utiliza frequentemente ficheiros php.ini diferentes. O comando acima mostra o caminho para a versão CLI. Para encontrar o caminho para o servidor web, crie um ficheiro info.php usando o método da secção anterior e abra-o no navegador, ou execute:
1 ls /etc/php/*/apache2/php.ini 2 ls /etc/php/*/fpm/php.ini
As localizações típicas dependem da versão do PHP e do servidor web:
- Apache:
/etc/php/8.2/apache2/php.ini - PHP-FPM (Nginx):
/etc/php/8.2/fpm/php.ini - Caminho geral (se o PHP for compilado manualmente):
/usr/local/lib/php.ini
Após as alterações, reinicie o servidor web: sudo systemctl restart apache2 ou sudo systemctl restart php8.2-fpm.
Onde está o php.ini no cPanel e noutros painéis de alojamento

Em alojamentos partilhados com cPanel, o ficheiro php.ini costuma ficar no diretório raiz do site, public_html. Para o ver:
- Inicie sessão no cPanel e abra o File Manager
- Navegue até à pasta
public_html - Encontre o
php.inina lista de ficheiros

Se o ficheiro não existir, crie-o com o botão + File. Escreva as diretivas necessárias e guarde. O servidor irá aplicar as configurações em poucos minutos.
Em servidores modernos, o MultiPHP Manager (cPanel) ou Select PHP Version são cada vez mais comuns e permitem editar o php.ini através de uma interface web, sem aceder ao gestor de ficheiros. Se o seu painel tiver uma ferramenta destas, utilize-a: há menos probabilidade de erros de sintaxe.
Caso específico: .user.ini. Em servidores com PHP-FPM (FastCGI), o php.ini na raiz do site pode ser ignorado; em vez disso, cria-se um ficheiro .user.ini com as mesmas diretivas. Consulte a documentação do alojamento para saber qual o ficheiro a usar.
Configurações recomendadas do php.ini para WordPress (atuais para 2026)
Os valores básicos "padrão" no php.ini não mudam há décadas e foram concebidos para scripts simples, não para CMS modernos. O WordPress com os plugins atuais exige limites significativamente mais altos. Abaixo estão os valores recomendados, testados na prática.
Diretivas principais
Diretiva | Mínimo | Recomendado | Porquê |
|---|---|---|---|
| 256M | 512M | Memória por página; Gutenberg, WooCommerce, Elementor consomem facilmente mais de 128 MB |
| 60 | 300 | Segundos por script; importação de demos, geração de miniaturas, backups |
| 64M | 128M | Tamanho de ficheiro para upload; temas e plugins em ZIP pesam frequentemente 20 a 50 MB |
| 64M | 128M | Tamanho total do pedido POST; deve ser ≥ |
| 2000 | 4000 | Número de variáveis POST; afeta diretamente a gravação de menus (50+ itens = corte) |
| 60 | 300 | Segundos para analisar os dados de entrada; |
1 memory_limit = 512M 2 max_execution_time = 300 3 upload_max_filesize = 128M 4 post_max_size = 128M 5 max_input_vars = 4000 6 max_input_time = 300 7 file_uploads = On
A diretiva safe_mode foi removida do PHP a partir da versão 5.4, não a adicione à configuração. Se vir esta linha num php.ini antigo, elimine-a sem hesitar.
Cache (opcache)
Para sites em produção, o opcache é obrigatório, pois oferece um aumento de velocidade de 2 a 3 vezes ao armazenar em cache o bytecode compilado:
1 opcache.enable = 1 2 opcache.memory_consumption = 256 3 opcache.max_accelerated_files = 10000 4 opcache.revalidate_freq = 2 5 opcache.validate_timestamps = 1
Registo de erros
Num site ativo, a exibição de erros no ecrã deve estar desligada, mas o registo deve estar ligado:
1 display_errors = Off 2 log_errors = On 3 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT
Métodos alternativos:.htaccess e wp-config.php
O acesso ao php.ini nem sempre está disponível. Em alguns alojamentos, existem alternativas.
Via.htaccess (Apache + mod_php)
Adicione ao .htaccess na raiz do site:
1 php_value memory_limit 512M 2 php_value upload_max_filesize 128M 3 php_value post_max_size 128M 4 php_value max_execution_time 300
Isto só funcionará se o PHP correr como módulo do Apache (mod_php). Com PHP-FPM, as diretivas php_value causarão um erro 500; neste caso, utilize .user.ini.
Via wp-config.php
Adicione antes da linha /* That's all, stop editing! */:
1 define('WP_MEMORY_LIMIT', '512M'); 2 define('WP_MAX_MEMORY_LIMIT', '512M');
WP_MEMORY_LIMIT define o limite para o frontend, WP_MAX_MEMORY_LIMIT para a administração. Isto não substitui o php.ini, mas resolve frequentemente o erro "Allowed memory size exhausted" precisamente quando o acesso à configuração do servidor está restrito.
Vídeo: encontrar e editar o php.ini na prática
Vídeo curto com demonstração visual de todos os métodos descritos, desde o phpinfo() até ao MultiPHP Manager no cPanel:
⁉️🤔 Perguntas frequentes
Por que razão nada mudou depois de editar o php.ini?
O processo PHP não foi reiniciado. Reinicie o Apache (
systemctl restart apache2ou através do botão do painel), o PHP-FPM (systemctl restart phpX.Y-fpm), ou aguarde pelo reinício automático em alojamento partilhado (normalmente 2 a 5 minutos). Verifique se está a editar ophp.iniexato indicado pelophpinfo()na linha Loaded Configuration File (um servidor pode ter vários).
Após as alterações, verifique sempre o limite real através do
phpinfo(): o alojamento pode substituir algumas diretivas por configurações globais. Se o valor não mudou, crie um.user.inina raiz do site (para PHP-FPM) ou contacte o suporte.
De quanto memory_limit precisa realmente o WordPress em 2026?
256M: mínimo seguro para um site típico com 10 a 15 plugins. Se tiver um page builder instalado (Elementor, Bricks, Breakdance), WooCommerce ou um plugin de cache complexo, defina 512M. Sites em Gutenberg com muitos blocos e padrões também tendem para os 512M. Os 128M, recomendados em guias antigos, já não são suficientes para o WordPress moderno: só o núcleo com um tema de Full Site Editing pode atingir este limite.
Exceção: alojamento partilhado barato com um teto rígido. Se o alojamento não aumentar o memory_limit acima de 128M, considere mudar de plano ou de fornecedor: um site neste limite irá falhar a cada duas atualizações.
O que é mais importante: editar o php.ini ou o wp-config.php?
O
php.inifunciona ao nível do sistema, owp-config.phpao nível da aplicação. Se tiver acesso aophp.ini, edite-o: os limites serão aplicados globalmente e não serão repostos nas atualizações do núcleo. Use owp-config.phpcomo alternativa quando o alojamento tiver bloqueado ophp.ini. OWP_MEMORY_LIMITnowp-config.phpsubstitui omemory_limitdophp.inipara o WordPress, mas não afeta omax_execution_time,upload_max_filesizee outras diretivas: essas têm de ser editadas através do.htaccessou.user.ini.



