Se você está lendo este post, não tenho dúvidas de que você está com problemas para fazer o upload de arquivos para seu site WordPress e está procurando por uma correção rápida. O erro comum, que indica que o arquivo “excede o tamanho máximo de upload para este site”, pode ser muito frustrante. Muitas hospedagens mantêm esse limite baixo por padrão. Neste post, iremos fundo na raiz do problema e apresentaremos algumas formas rápidas de resolver essa questão e normalizar os uploads de seus arquivos.

Erro de tamanho máximo de upload no WordPress

Erro de tamanho máximo de upload no WordPress

Primeiramente, por que raios isso acontece? Bom, é importante entender que isso não costuma ser um problema do WordPress. Na maioria dos casos, o tamanho máximo do upload de arquivos no WordPress corresponde a uma configuração no nível do servidor, o que significa que infelizmente, o problema não pode ser resolvido diretamente no WordPress.

Esse limite existe por questões de segurança e eficiência. Ele previne que usuários transbordem seus sites com uploads enormes de vídeos e causem interrupções nos servidores. Entendemos isso e acreditamos ser uma medida justa, mas hoje em dia um valor de 2 a 5 MB (um valor padrão em muitos servidores) não é o suficiente. Vejamos como podemos aumentar esses números.

Se você está curioso, o tamanho de upload padrão no Kinsta é de 125 MB.

Aumentar o Tamanho Máximo de Upload de Arquivos no WordPress

Existem três formas básicas que podem ser adotadas para resolver o problema de tamanho máximo de upload de arquivos no WordPress, além de uma opção alternativa. Começaremos com as duas mais fáceis, depois avançaremos para a alteração nas configurações do servidor por conta própria, já que existem diversas opções dentro dessa opção.

Aumente o Limite de Tamanho de Upload em um Instalação Multisite

Se você estiver utilizando uma instalação multisite, será capaz de controlar o limite de uploads em seus sites. Observação: essa ação não contorna as configurações definidas no nível do servidor. Se o servidor tem um limite de 5 MB e você define 10.000 KB (10 MB) nas configurações da rede, o novo valor não funcionará. Entretanto, se o servidor estiver configurado para 20 MB e as configurações de sua rede forem definidas para 1.500 KB, você poderá resolver o problema ao aumentar o limite configurado para 20.000 KB. Siga os passos abaixo para aumentar o tamanho máximo de upload em sua instalação multisite. Se você precisar fazer alterações no servidor, avance para a opção de modificar as configurações do servidor.

Passo 1

Em seu painel WordPress, clique em Painel da Rede e em Configurações.

Configurações de uma rede multisite

Configurações de uma rede multisite

Passo 2

Role a página para baixo e verifique a configuração do “Tamanho máximo para envio de arquivos”. Você pode aumentar esse valor para outro maior que o padrão de 1500 KB (1.5 MB). Em seguida, clique em “Salvar alterações”.

Altere o tamanho máximo de upload de arquivos no Multisite

Altere o tamanho máximo de upload de arquivos no Multisite

Peça Ajuda à sua Hospedagem

Se você está com problemas para fazer o upload de arquivos e com os limites de tamanho, uma das soluções mais rápidas é contatar sua hospedagem e pedir ajuda. Muitas empresas de hospedagem possuem suporte por chat, que pode ajudá-lo rapidamente em situações como essa. Aumentar o limite de upload é uma tarefa trivial para alguém que trabalha no suporte técnico e eles são capazes de realizar essa ação em menos de um minuto.

Se você é um cliente Kinsta, nossa equipe de suporte possui amplo conhecimento e está disponível 24×7 a um clique no canto inferior direito do painel se você precisar de ajuda. Não se esqueça que temos representantes que podem te ajudar em inglês e espanhol.

Envie um ticket de suporte WordPress

Envie um ticket de suporte WordPress

Modifique as Configurações do Servidor

Existem diversas configurações no servidor que afetam como os uploads são realizados no WordPress. Infelizmente, muitos tutoriais lidam com a situação de forma errada, pois alteram mais configurações que o necessário. De acordo com a Documentação PHP, as três diretivas que interessam são:

  • post_max_size
  • upload_max_filesize
  • memory_limit

A documentação também nos oferece orientações muito claras sobre como elas devem ser configuradas:

[post_max_size] define o tamanho máximo permitido para os dados de um post. Esta configuração também afeta o tamanho de upload. Para fazer o upload de arquivos maiores, este valor deve ser maior que o upload_max_filesize. Se o limite de memória estiver habilitado por seu script de configuração, o valor do memory_limit também deve afetar o upload de arquivos. De forma geral, o memory_limit deve ser maior que o post_max_size.

Precisamos configurar estas três diretivas para acomodar os tamanhos de nossos arquivos. Se o maior arquivo tiver cerca de 10 MB, recomendamos que defina o upload_max_filesize para 12M (12 MB), o post_max_size para 13M (13 MB) e o memory_limit para 15M (15 MB). Perceba que eles utilizam M ao invés de MB. Uploads podem conter um pouco de informação em formato de texto além do arquivo em si, por isso é uma boa ideia fornecer um pouco de espaço adicional.

Agora que já sabemos o que modificar, precisamos saber como fazer isso. Existem cinco opções que você pode experimentar. Algumas delas podem não funcionar para você dependendo das configurações do seu servidor.

Opção 1 – Alterar as Opções PHP no cPanel

Se você possui uma hospedagem que utiliza o cPanel, pode facilmente alterar os valores na interface de usuário. Na aba de Software, clique em “Selecionar versão de PHP”.

Opção “Selecionar versão de PHP” no cPanel

Opção “Selecionar versão de PHP” no cPanel

Clique em “Switch to PHP Options”.

Opção “Switch to PHP options”

Opção “Switch to PHP options”

Você poderá clicar em cada uma das propriedades e alterar seu valor. Em seguida, clique em “Save”.

Aumente o tamanho máximo de upload de arquivos no cPanel

Aumente o tamanho máximo de upload de arquivos no cPanel

Opção 2 – Crie ou Modifique Arquivos php.ini

Por padrão, arquivos php.ini são aqueles que governam a forma como o servidor é configurado. Devido às restrições nos servidores, você pode não ser capaz de utilizar arquivos php.ini e é por isso que o método .htaccess funciona de forma mais consistente (falaremos dele a seguir). Para editar seu arquivo php.ini, faça login no seu site via FTP ou SSH, acesse a pasta raiz do seu site e abra ou crie um arquivo php.ini.

Arquivo php.ini

Arquivo php.ini

Se o arquivo já estiver lá, procure pelas três configurações que citamos e modifique-as conforme necessário. Se você acabou de criar o arquivo ou se não conseguiu encontrar as configurações, cole o código abaixo. Você pode modificar os valores para que eles atendam suas necessidades.

upload_max_filesize = 12M
post_max_size = 13M
memory_limit = 15M

Algumas hospedagens compartilhadas também exigem que você adicione a diretiva suPHP em seu arquivo .htaccess para que as configurações do arquivo php.ini funcionem. Para fazer isso, edite o arquivo .htaccess, que também fica localizado na raiz do seu site, e adicione o seguinte código no início do arquivo:

suPHP_ConfigPath /home/yourusername/public_html

Opção 3 – Modifique o Arquivo php.ini no cPanel

Se você está usando o cPanel, as modificações no arquivo php.ini podem ser feitas através da ferramenta MultiPHP INI Editor. Na aba de Software, clique em “MultiPHP INI Editor”.

MultiPHP INI Editor

MultiPHP INI Editor

Selecione seu diretório principal (raiz do domínio) na lista suspensa.

Seleção do diretório principal no MultiPHP INI Editor

Seleção do diretório principal no MultiPHP INI Editor

Altere o valor do upload_max_filesize  para um número maior.

Valor de upload_max_filesize no MultiPHP INI Editor

Valor de upload_max_filesize no MultiPHP INI Editor

Opção 4 – Crie ou Modifique Arquivos .user.ini

Se a opção acima não funcionou, pode ser que sua hospedagem tenha bloqueado as configurações globais e configurado a utilização de arquivos .user.ini em seu lugar. Para editar seu arquivo .user.ini, faça login no seu site via FTP ou SSH, acesse a pasta raiz e abra ou crie um arquivo .user.ini. Em seguida, cole o seguinte código: 

upload_max_filesize = 12M
post_max_size = 13M
memory_limit = 15M

Opção 5 – Crie ou Modifique Arquivos .htaccess

O .htaccess é um arquivo oculto especial que contém diversas configurações que você pode utilizar para modificar o comportamento do servidor até um nível específico do diretório. Se o método php.ini mencionado acima não funcionou, sugerimos que você experimente este aqui. Primeiramente, faça login no seu site via FTP ou SSH, acesse sua pasta raiz e veja se há um arquivo .htaccess nela.

Lutando com tempo de inatividade e problemas no WordPress? Kinsta é a solução de hospedagem projetada para economizar seu tempo! Confira nossos recursos
Arquivo .htaccess

Arquivo .htaccess

Se existir esse arquivo, você pode editá-lo para adicionar o código necessário para aumentar o limite de upload.

php_value upload_max_filesize 12M
php_value post_max_size 13M
php_value memory_limit 15M

Se você receber uma mensagem de “erro interno do servidor” com esse método, é provável que seu servidor esteja executando o PHP no “modo CGI”, o que significa que você não pode usar os comandos acima no seu arquivo .htaccess.

Mensagem de erro interno do servidor

Mensagem de erro interno do servidor

Opção 6 – Use a Função PHP ini_set()

A última opção é uma da qual não somos fãs, mas se todo o resto tiver falhado, vale a pena tentar. Primeiro, faça login no seu site via FTP ou SSH e localize seu arquivo wp-config.php, que geralmente fica na pasta raiz do seu site.

Arquivo wp-config.php

Arquivo wp-config.php

Adicione o seguinte Código ao arquivo wp-config.php:

@ini_set( 'upload_max_size' , '12M' );
@ini_set( 'post_max_size', '13M');
@ini_set( 'memory_limit', '15M' );

Teoricamente, você pode tentar adicioná-lo ao arquivo de funções do seu tema ou ao arquivo principal dos plugins, mas esse código não tem um lugar certo em nenhum dos dois. Porém, ele pode funcionar como um último recurso ou solução temporária.

Configuração NGINX

NGINX é uma alternativa de software de servidor web ao bom e velho Apache. Ele pode ser bem mais rápido que o Apache e é por isso que nós o utilizamos em todos os nossos servidores Kinsta. Se você está executando seu site em NGINX, precisará alterar seu arquivo php.ini, assim como seu arquivo NGINX config.

Já falamos sobre como modificar o arquivo php.ini, portanto tudo o que precisamos agora é do código para o NGINX config:

http {
        client_max_body_size 13m;
}

Perceba que você terá diversas configurações dentro do grupo HTTP. Altere apenas o parâmetro client_max_body_size para ter certeza que não modificará nenhum outro recurso sem querer. Por fim, você precisará carregar novamente alguns serviços para se certificar de que as alterações foram aplicadas. Realize os seguintes comandos e tudo deverá ficar pronto:

service php5-fpm restart
service nginx reload 

Se você é um cliente Kinsta, não possui acesso ao NGINX config. Por isso, sinta-se à vontade para contatar nossa equipe de suporte. Ela poderá fazer as alterações rapidamente por você.

Utilize o Filtro upload_size_limit do WordPress

Outra forma alternativa de aumentar o tamanho do upload de arquivos é utilizar o filtro upload_size_limit, que foi introduzido na versão 2.5 do WordPress. Abaixo você pode ver um exemplo do código de Drew Jaynes.

/**
 * Filter the upload size limit for non-administrators.
 *
 * @param string $size Upload size limit (in bytes).
 * @return int (maybe) Filtered size limit.
 */
function filter_site_upload_size_limit( $size ) {
    // Set the upload size limit to 60 MB for users lacking the 'manage_options' capability.
    if ( ! current_user_can( 'manage_options' ) ) {
        // 60 MB.
        $size = 60 * 1024 * 1024;
    }
    return $size;
}
add_filter( 'upload_size_limit', 'filter_site_upload_size_limit', 20 );

Verifique o Tamanho Máximo de Upload de Arquivos

Verificar se as soluções acima funcionaram é muito fácil. Vá até a seção Mídia e clique em Adicionar Nova. Você deve ser capaz de ver uma pequena mensagem dizendo “Tamanho máximo de upload de arquivo: 25 MB”, por exemplo. O valor numérico deve mudar após você modificar as configurações. Iniciamos com um limite de tamanho de upload de arquivo de 5 MB e, como você pode ver abaixo, aumentamos esse limite para 25 MB.

Verificação do tamanho máximo de upload de arquivo no WordPress

Verificação do tamanho máximo de upload de arquivo no WordPress

Se você fez alterações em diversos locais, recomendamos que siga o passo a passo e desfaça as mudanças que não funcionaram. Tanto o arquivo .htaccess quanto o php.ini são similares nas propriedades em cascata do CSS. O post_max_size definido em um diretório filho se sobrepõe à mesma diretiva em um diretório pai. Isso pode levar a muita confusão se você fez a definição dessas diretivas em todos os locais para “ter certeza que vai funcionar”.

Opção Alternativa – Faça o Upload de Arquivos Via FTP

Se você está com dificuldades para aumentar seus limites com sua hospedagem atual, há a opção de fazer o upload de arquivos grandes através de FTP (SFTP) e utilizar o plugin gratuito Add From Server. Se você possui muitos arquivos grandes, esse método se torna o mais rápido. Confira nosso tutorial aprofundado sobre como fazer upload em grande quantidade de arquivos para a biblioteca de mídia do WordPress via FTP.

Resumo

Como você pode ver, aumentar o tamanho máximo do upload de arquivos no WordPress não é tão complexo: é uma questão de saber onde olhar e quais comandos utilizar. Esperamos que agora você entenda um pouco melhor como alterar e ajustar as configurações para o seu site WordPress. Se você já passou por uma situação difícil com os limites de tamanho dos arquivos, nos conte como você conseguiu corrigir o problema, já que cada hospedagem e servidor pode ser configurado de maneiras diferentes.