
O zip do tema tem 28 MB, você clica em enviar e a tela devolve uma página de erro crua do nginx: 413 Request Entity Too Large. Mexer no php.ini agora não muda nada, porque a requisição nem chegou no PHP. O nginx recusa corpo acima de 1 MB por padrão e encerra a conversa ali.
# /etc/nginx/sites-available/seusite.conf
server {
server_name seusite.com.br;
root /var/www/seusite/html;
client_max_body_size 64M;
client_body_timeout 300s;
}
sudo nginx -t Confirme no /var/log/nginx/error.log: quando o limite estoura, a linha diz que o cliente pretendia enviar um corpo grande demais, com o tamanho e o limite lado a lado. Um detalhe que custa tempo: se você põe a diretiva só dentro do location do PHP, o upload pela biblioteca de mídia até passa, mas a REST API e o editor de blocos continuam caindo. No server block ela vale pro host inteiro.
# /etc/php/8.3/fpm/php.ini
upload_max_filesize = 60M
post_max_size = 64M
memory_limit = 256M
max_execution_time = 300
sudo systemctl reload php8.3-fpm
sudo systemctl reload nginx Os três valores formam uma escada: o client_max_body_size igual ou maior que o post_max_size, e o post_max_size maior que o upload_max_filesize. Quem mede o corpo inteiro, arquivo mais os campos do formulário, é o post_max_size; deixá-lo abaixo do upload_max_filesize faz o PHP descartar a requisição e o WordPress receber um POST vazio, sem arquivo e sem mensagem de erro decente na tela. E se o nginx ficar abaixo dele, você continua no 413.
Repare na ordem do reload: PHP-FPM antes do nginx, pra não abrir a porteira em cima de um pool que ainda recusa o arquivo. E não confira o resultado com php -i no terminal, porque o CLI lê o /etc/php/8.3/cli/php.ini, outro arquivo. O valor que vale aparece em Ferramentas, Saúde do site, aba Informações, seção Servidor.
Função pronta para gerar um cupom único por cliente depois do pedido concluído, com WC_Coupon, data de expiração, limite de…
Como registrar um modifier no pool do formulário de produto do Magento 2 e criar um campo próprio na aba,…
Site abrindo em branco sem mensagem nenhuma? Leia o log do PHP-FPM, identifique o plugin que causou o fatal e…
Trocou DateTime por DateTimeImmutable e a data parou de andar? O modify devolve uma cópia nova em vez de alterar…
Use o parâmetro strategy do wp_enqueue_script para adiar o JavaScript do tema, sem plugin de otimização, e entenda por que…
O banner aparece, o visitante não clica em nada e o Analytics já gravou cookie. Veja como segurar o script…