back to top

Errore 413 Request Entity Too Large: cos’è e come risolverlo

L’errore in oggetto appartiene alla famiglia dei codici di stato HTTP 4xx i quali identificano gli errori connessi alla richiesta effettuata dal client. In questo articolo, in modo dettagliato, vedremo in cosa consiste l’errore 413 Request Entity Too Large ed in che modo รจ possibile risolverlo.

Cos’รจ l’errore 413?

L’errore 413 Request Entity Too Large si verifica quando si tenta di caricare un file di dimensioni che superano il limite massimo di caricamento impostato nel web server remoto.

Pubblicitร 

In altre parole si sta cercando di effettuare l’upload di un file troppo grande, pertanto il web server – non potendolo gestire – restituisce all’utente un messaggio di errore in cui lo informa che “l’entitร  della richiesta รจ troppo grande“.

Il messaggio mostrato all’utente puรฒ variare a seconda del web-server remoto nonchรฉ in base al client. Di seguito le diciture comuni che indicano il verificarsi di questo errore:

  • Error 413
  • HTTP Error 423
  • HTTP Code 413
  • 413 Request Entity Too Large

Come risolvere l’errore 413 Request Entity Too Large?

Questo tipo di problema non รจ di natura transitoria, questo significa che ricaricare la pagina o riprovare in un altro momento non poterebbe ad alcun risultato utile. Questo problema, infatti, non dipende da errori di elaborazione o sovraccarichi momentanei, ma da una esplicita configurazione del web server che, in quanto tale, produrrร  sempre il medesimo risultato.

Alla luce di quanto detto, le possibili soluzioni all’errore 413 sono soltamnto due:

  1. effettuare l’upload di un minor numero di file o ridurne, ove possibile, la dimensione;
  2. effettuare una modifica alla configurazione del web-server al fine di ammettere l’upload di una maggior quantitร  di dati.

Aumentare la dimensione massima consentita per gli upload in PHP

Agendo sul file php.ini รจ possibile aumentare, se necessario, il limite impostato di default. Per effettuare questa operazione รจ necessario agire su due distinte direttive: post_max_size e upload_max_filesize.

upload_max_filesize = 64M
post_max_size = 65M
memory_limit = 65M

Nel nostro esempio il limite massimo per l’upload รจ fissato in 64 Mb. Si noti che le direttive post_max_size e memory_limit sono state impostate, come da buone abitudini, con un valore leggermente superiore.

Se non avete accesso al file php.ini potete provare ad eseguire questa operazione tramite il file .htaccess aggiungendo queste istruzioni:

php_value upload_max_filesize 64M
php_value post_max_size 65M
php_value memory_limit 65M

Si noti, tuttavia, che non sempre la modifica delle impostazioni di PHP รจ ammessa da .htaccess, quindi รจ anche possibile che l’aggiunta di questo codice non produca effetti o generi un errore 500 (questo accade, generalmente, quando PHP “gira” in modalitร  CGI).

Attenzione: a partire dalla versione 5.3 di PHP non รจ possibile agire su questi parametri utilizzando la funzione ini_set() ma รจ sempre necessario agire su php.ini, .htaccess, httpd.conf o .user.ini.

Risolvere l’errore 413 su NGINX

Se il vostro hosting provider utilizza NGINX, oltre alla modifica del file php.ini sarร  necessaro intervenire sul file di configurazione NGINX all’interno del blocco body, in questo modo:

http {
  client_max_body_size 64m;
}

Una volta conclusa la modifica sarร  necessario effettuare il riavvio in questo modo:

service php5-fpm restart
service nginx reload

Ovviamente la modifica autonoma della configurazione di NGINX non รจ possibile in ambienti condivisi, pertanto l’unica opzione disponibile sarร  contattare il vostro hosting provider.

File di grandi dimensioni e tempi di esecuzione

E’ importante sottolineare che le modifiche appena viste potrebbero produrre un effetto secondario non irrilevante. Consentire l’upload i file molto grandi, infatti, potrebbe avere un impatto anche sui tempi di esecuzione degli script (l’invio e la gestione di grosse mole di dati richiede tempo).

Il rischio, pertanto, รจ di risolvere l’errore 413 ma ritrovarsi nel bel mezzo dell’errore 504 Gateway timeout. In questo caso il consiglio รจ quello di aumentare il tempo massimo di esecuzione limitatamente allo script che gestisce l’upload.

Per farlo potrebbe essere sufficiente aggiungere, in cima allo script, questa riga di codice:

ini_set( 'max_execution_time', '300' );

Conclusione

L’errore 413 Request Entity Too Large รจ legato alla dimensione della richiesta del client. L’unico modo per risolvere questo errore consiste nel ridurre la dimensione della richiesta (ad esempio inviando file meno pesanti) oppure modificare le impostazioni del web-server in uno dei modi visti sopra.

Altri contenuti interessanti

Pubblicitร 

Potrebbero interessarti queste guide

Massimiliano Bossi
Massimiliano Bossi
Stregato dalla rete sin dai tempi delle BBS e dei modem a 2.400 baud, ho avuto la fortuna di poter trasformare la mia passione in un lavoro (nonostante una Laurea in Giurisprudenza). Adoro scrivere codice e mi occupo quotidianamente di comunicazione, design e nuovi media digitali. Orgogliosamente "nerd" sono il fondatore di MRW.it (per il quale ho scritto centinaia di articoli) e di una nota Web-Agency (dove seguo in prima persona progetti digitali per numerosi clienti sia in Italia che all'estero).

Leggi anche...

ERR_TOO_MANY_REDIRECTS: cos’è e come risolvere l’errore

L'errore ERR_TOO_MANY_REDIRECTS si verifica quando un browser tenta di...

Lucchetto HTTPS barrato di rosso: cosa significa e come risolvere

Il lucchetto HTTPS barrato di rosso mostrato dal browser...

Risolvere l’errore Bad Request … Size of a request header field exceeds server limit

L'errore "Bad Request: Your browser sent a request that...

NGinx: cos’è, come funziona e perché conviene usarlo

Prima di parlare di NGinx, delle sue caratteristiche e...

Errore 410: cos’è, quando si verifica e come risolvere (se necessario)

Il codice di stato HTTP 410 (o โ€œGoneโ€), piรน...

Errore 451 Unavailable For Legal Reasons: cos’è e quando si verifica

L'errore HTTP 451 Unavailable For Legal Reasons รจ un...
Pubblicitร