Este erro é bastante comum no PHP. Dessa forma, o erro The uploaded file exceeds the upload_max_filesize significa que você está tentando enviar um arquivo para o servidor, porém este arquivo possui um tamanho superior ao limite, estabelecido pela diretiva upload_max_filesize no PHP.INI.
Por exemplo, a mensagem de erro completa normalmente é
Error: The uploaded file exceeds the upload_max_filesize directive in php.ini.
Sendo assim, para solucionar o problema, basta aumentar as diretivas upload_max_filesize e post_max_size na configuração do PHP. Em um servidor de hospedagem de sites, as configurações do PHP podem ser editadas pelo painel de controle cPanel.
Antes de resolver, vale entender que três diretivas do PHP trabalham juntas — e mexer só numa costuma não resolver:
| Diretiva | O que controla | Regra prática |
|---|---|---|
| upload_max_filesize | O maior arquivo que pode ser enviado. | Defina acima do seu maior arquivo. |
| post_max_size | O tamanho total do envio (POST). | Igual ou maior que o upload_max_filesize. |
| memory_limit | A memória que um script PHP pode usar. | Pelo menos igual ao post_max_size. |
A regra de ouro: o post_max_size deve ser igual ou maior que o upload_max_filesize, porque o arquivo é enviado dentro de uma requisição POST. Se o post_max_size for menor, o upload falha mesmo depois de você aumentar o upload_max_filesize. Sempre ajuste os dois juntos.
Cada uma dessas diretivas tem seu próprio limite — veja também como ajustar o limite de memória do PHP e o tempo máximo de execução. Outro erro de PHP comum, mas de código e não de limite, é o cannot modify header information / headers already sent.
Conteúdo
Como verificar o limite atual
No WordPress, vá em Mídia → Adicionar nova e veja o “Tamanho máximo de upload” no rodapé do enviador, ou em Ferramentas → Saúde do site → Informações → Manipulação de mídia.
Em qualquer site, você pode criar um arquivo com <?php phpinfo(); ?> e procurar por upload_max_filesize. Anote o valor para confirmar a mudança depois.
Solucionando o erro Error: The uploaded file exceeds the upload_max_filesize directive in php.ini.
Solucionando o erro no painel de controle cPanel
No painel cPanel, o caminho mais simples hoje é o MultiPHP INI Editor. Acesse o painel de controle e, na seção Software, clique em MultiPHP INI Editor. Selecione o domínio desejado no menu, localize as diretivas upload_max_filesize e post_max_size, aumente os dois valores (deixando o post_max_size igual ou maior), e clique em Apply (Aplicar). O cPanel grava a alteração automaticamente, sem precisar editar arquivos.
(Em versões mais antigas do cPanel, o mesmo ajuste fica em Select PHP Version → Options.)
Solucionando o erro no painel de controle DirectAdmin
Em um servidor de Hospedagem compartilhada com painel DirectAdmin, você pode realizar as configurações do PHP através do painel de controle do DirectAdmin. Também é possível instalar módulos, extensões e alterar a versão do PHP através do painel DirectAdmin. Portanto, seguindo esse passo a passo você poderá solucionar o erro de upload_max_filesize através do painel DirectAdmin.
Inicialmente, acesse o seu Painel de Controle do DirectAdmin.
No menu lateral selecione “Extra Features” (ou “Recursos extras”). Em seguida, selecione a opção “Select PHP version” (ou “selecionar versão do PHP”).
Após carregar o painel de configurações do PHP, selecione a opção “options” (ou “opções”).
Alterando o valor das diretivas post_max_filesize e upload_max_filesize
Nesta aba de opções, você pode observar que há diversas diretivas de configuração do PHP. Entre eles, você poderá encontrar as diretivas upload_max_filesize e post_max_filesize. Observe que eles vão apresentar os valores que estão configurados logo ao lado. Portanto, alterando esses valores para valores maiores, podem resolver o problema do erro de upload_max_filesize.
Para alterar o valor de post_max_filesize, clique sobre o valor ao lado da diretiva.
Em seguida, selecione o valor desejado.
Para alterar o valor de upload_max_filesize, assim como no anterior, clique sobre o valor ao lado desta diretiva.
Em seguida, selecione o valor desejado.
Pronto! O erro de upload_max_filesize do PHP estará solucionado!
Alterando pelo arquivo .htaccess
Em servidores Apache, você pode aumentar os limites pelo arquivo .htaccess na raiz do site, adicionando:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value memory_limit 128M Se aparecer um erro 500 depois de adicionar essas linhas, seu servidor roda PHP como CGI/FPM, onde o php_value no .htaccess não é permitido. Remova as linhas para restaurar o site e use o painel de controle. Servidores Nginx também não usam .htaccess.
Se necessário, consulte também este artigo sobre o Erro 500.
No WordPress (wp-config.php)
Se o erro acontece num site WordPress, você também pode tentar definir os limites no arquivo wp-config.php. Acima da linha /* Isso é tudo, pode parar de editar! */, adicione:
@ini_set( 'upload_max_filesize', '64M' );
@ini_set( 'post_max_size', '64M' );
@ini_set( 'memory_limit', '128M' ); Isso funciona em parte das hospedagens (depende de como o PHP lê a diretiva). Se não surtir efeito, use o painel de controle ou contate o suporte.
Chega de brigar com limites de upload travados. Na Homehost você ajusta upload_max_filesize, post_max_size e memória pelo painel — e conta com suporte em português quando precisar.
Ver planos de hospedagem WordPressPerguntas frequentes
Conclusão
O erro upload_max_filesize é um dos mais simples de resolver quando você entende que é um limite do servidor, não do WordPress. Basta aumentar o upload_max_filesize — e o post_max_size junto — pelo painel de controle (cPanel ou DirectAdmin), pelo php.ini via SSH, pelo .htaccess ou pelo wp-config.php, conforme sua hospedagem permitir. Depois, confirme o novo limite em Mídia → Adicionar nova. Em hospedagem compartilhada, o painel de controle ou um contato rápido com o suporte costuma ser o caminho mais veloz. E se você se vê constantemente esbarrando em limites que não consegue ajustar, vale considerar uma hospedagem que te dê controle real sobre as configurações do PHP — como os planos de hospedagem WordPress da Homehost.