upload_max_filesize exceeded compare quando il file inviato supera il valore upload_max_filesize applicato al dominio. Perché l’upload funzioni, anche post_max_size e gli eventuali limiti di WordPress, plugin, proxy o applicazione devono essere coerenti.
Questa guida approfondisce upload_max_filesize exceeded con una procedura progressiva e reversibile. Non inviare password, codici 2FA, token, chiavi private o file di configurazione completi nei ticket.
Che cosa significa
Modificare soltanto upload_max_filesize può non bastare: post_max_size deve essere almeno superiore alla dimensione totale della richiesta, mentre memoria e timeout possono influire sull’elaborazione successiva.
Su Xlogic i parametri modificabili si gestiscono normalmente in cPanel → Software → Select PHP Version → Options, quando il piano e la versione PHP lo consentono.
Come riconoscere il problema
- WordPress mostra che il file supera upload_max_filesize.
- phpMyAdmin rifiuta un dump grande.
- Un plugin di importazione indica limite upload.
- Il valore mostrato non cambia dopo la modifica.
- File piccoli funzionano e file grandi no.
Cause più frequenti
1. upload_max_filesize basso
Il limite per il singolo file è inferiore alla dimensione inviata. Verifica questa ipotesi usando il messaggio completo e i dati dell’orario interessato, senza basarti soltanto sul testo mostrato dal browser o dall’applicazione.
2. post_max_size più basso
L’intera richiesta HTTP supera la soglia, anche se il singolo file rientra. Verifica questa ipotesi usando il messaggio completo e i dati dell’orario interessato, senza basarti soltanto sul testo mostrato dal browser o dall’applicazione.
3. Configurazione PHP differente
CLI, dominio, sottodominio e sito possono usare versioni o file ini diversi. Verifica questa ipotesi usando il messaggio completo e i dati dell’orario interessato, senza basarti soltanto sul testo mostrato dal browser o dall’applicazione.
4. Limite applicativo
WordPress o il plugin impone una soglia propria. Verifica questa ipotesi usando il messaggio completo e i dati dell’orario interessato, senza basarti soltanto sul testo mostrato dal browser o dall’applicazione.
5. Proxy o CDN
Il livello frontale può rifiutare la richiesta prima di PHP. Verifica questa ipotesi usando il messaggio completo e i dati dell’orario interessato, senza basarti soltanto sul testo mostrato dal browser o dall’applicazione.
6. Timeout o memoria
Il file viene ricevuto ma l’elaborazione successiva fallisce. Verifica questa ipotesi usando il messaggio completo e i dati dell’orario interessato, senza basarti soltanto sul testo mostrato dal browser o dall’applicazione.
Diagnosi passo per passo
- Controlla la dimensione reale. Verifica byte del file e presenza di più allegati nella richiesta. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
- Leggi i valori attivi. Usa Site Health, phpinfo temporaneo protetto o gli strumenti del pannello. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
- Confronta upload e post. post_max_size deve essere maggiore del totale inviato. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
- Verifica la versione PHP. Assicurati di modificare le opzioni della versione assegnata al dominio. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
- Controlla plugin e WordPress. Verifica il limite mostrato nella schermata Media o importazione. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
- Escludi CDN o proxy. Controlla documentazione e log del servizio frontale. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
- Leggi error_log. Cerca memoria, timeout e file temporanei. Salva il risultato e confrontalo con il passaggio successivo; in questo modo potrai distinguere una causa locale da una configurazione del servizio.
Metodo sicuro di intervento
Prima di modificare la configurazione, registra lo stato iniziale: indirizzo o funzione coinvolta, messaggio completo, data e ora, ultima modifica nota e risultato da un secondo dispositivo, rete o strumento. Una diagnosi ripetibile è più utile di molti tentativi eseguiti contemporaneamente.
Applica una sola correzione alla volta e conserva una copia dei file, dei record o dei valori precedenti. Dopo ogni intervento ripeti esattamente il test originale e controlla i log relativi allo stesso intervallo temporale. Se il risultato cambia, annota quale modifica lo ha prodotto.
Evita disattivazioni globali di firewall, WAF, TLS, cache o sistemi di sicurezza. Quando serve una eccezione, deve essere limitata all’URL, al parametro, al processo o al servizio realmente interessato.
Procedura di risoluzione
- Modifica upload_max_filesize. In Select PHP Version → Options scegli un valore adeguato. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
- Aumenta post_max_size. Imposta un valore superiore alla richiesta completa. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
- Verifica memory_limit. L’elaborazione di archivi o immagini può richiedere memoria aggiuntiva. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
- Aumenta max_execution_time solo se necessario. Gli upload lenti o le importazioni possono richiedere più tempo. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
- Usa strumenti alternativi. Per file molto grandi preferisci SFTP, WP-CLI o importazione database da riga di comando. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
- Svuota cache e riavvia il test. Assicurati che il processo usi la nuova configurazione. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
- Riduci o comprimi il file. Quando non è necessario aumentare la soglia. Dopo la modifica ripeti lo stesso test, controlla il log e verifica che non siano comparsi effetti collaterali.
Controlli finali
- Il pannello mostra il nuovo limite.
- Il file viene ricevuto.
- L’elaborazione termina senza errori.
- post_max_size resta superiore.
- Il dominio usa la versione PHP corretta.
Prevenzione
- Definisci limiti proporzionati.
- Usa CLI per dump grandi.
- Ottimizza immagini.
- Controlla i valori dopo cambi PHP.
- Evita archivi inutilmente enormi.
Errori da evitare
- Non usare valori illimitati.
- Non creare php.ini casuali in più cartelle.
- Non ignorare post_max_size.
- Non caricare dump sensibili in cartelle pubbliche.
- Non lasciare phpinfo accessibile.
Come documentare la verifica
Conserva una breve nota con configurazione iniziale, risultato di ogni controllo e modifica applicata. Inserisci sempre data e ora, perché cache, log, code, rate limit e processi pianificati possono cambiare nel tempo. Questa documentazione facilita il rollback e permette all’assistenza di evitare verifiche già eseguite.
Quando confronti due test, usa le stesse condizioni: stesso URL o destinatario, stesso file, stesso client e stessa rete quando possibile. Se cambi più variabili, il risultato non permette di individuare con certezza la causa.
Controllo incrociato
Dopo la correzione esegui almeno un controllo indipendente. Per un sito confronta browser, risposta HTTP e log; per DNS interroga autoritativo e resolver pubblico; per la posta confronta Webmail, intestazioni e Track Delivery; per PHP verifica il valore effettivamente applicato al dominio. Un solo indicatore può essere influenzato da cache o configurazioni locali.
Se il problema ricompare, evita ulteriori modifiche e raccogli nuovamente i dati. La ricorrenza può indicare un processo pianificato, un limite raggiunto, una dipendenza esterna o una configurazione che viene rigenerata automaticamente.
Quando contattare l’assistenza Xlogic
Apri un ticket quando il problema persiste dopo i controlli di base, coinvolge più servizi oppure richiede log e configurazioni non disponibili nel pannello. Indica:
- dominio
- dimensione file
- schermata o errore
- valori PHP attivi
- metodo di upload
Non inviare credenziali. Per iniziare la diagnosi sono sufficienti dati tecnici, orari, URL, codici e messaggi di errore.
Fonti tecniche ufficiali
Domande frequenti su upload_max_filesize exceeded
Perché upload_max_filesize è alto ma l’upload fallisce?
post_max_size, proxy, plugin, memoria o timeout possono imporre un limite inferiore.
Dove modifico il valore?
Normalmente in cPanel → Select PHP Version → Options, se disponibile sul piano.
Devo aumentare anche post_max_size?
Sì, deve essere superiore alla dimensione totale della richiesta.
Posso importare un database enorme con phpMyAdmin?
È preferibile usare strumenti da riga di comando o assistenza per evitare limiti del browser.
Serve riavviare il server?
No per le normali opzioni dell’account; verifica però che il dominio usi la configurazione modificata.