In breve: I limiti PHP di caricamento e durata devono essere configurati in modo coerente.
Indice dei contenuti
Limiti PHP
Quando WordPress mostra “Il file supera la dimensione massima”, un’importazione si interrompe o una richiesta va in timeout, aumentare un solo valore può non bastare. Esistono inoltre limiti dell’applicazione, del web server, del proxy e del piano hosting.
Questa guida spiega upload_max_filesize, post_max_size e max_execution_time e mostra come modificarli senza scegliere valori eccessivi. La relazione upload_max_filesize post_max_size è il primo controllo da effettuare.

Significato delle principali direttive
| Direttiva | Funzione | Esempio |
|---|---|---|
upload_max_filesize | Dimensione massima di un singolo file caricato via PHP | 64M |
post_max_size | Dimensione massima dell’intera richiesta POST, file e campi compresi | 72M o superiore |
memory_limit | Memoria massima allocabile da un processo PHP | 256M |
max_execution_time | Tempo massimo di esecuzione dello script | 120 secondi |
max_input_time | Tempo massimo per analizzare i dati in ingresso | 120 secondi |
max_input_vars | Numero massimo di variabili accettate in input | 1000 o valore previsto dal sito |
I valori della tabella sono esempi, non impostazioni universali. Usa il minimo necessario per l’operazione e rispetta i limiti del piano.
Relazione tra upload_max_filesize e post_max_size
post_max_size deve essere superiore a upload_max_filesize, perché la richiesta contiene anche campi, intestazioni e talvolta più file.
Esempio per un file massimo di 64 MB:
upload_max_filesize = 64M
post_max_size = 72M
Se carichi più file nella stessa richiesta, la somma può superare post_max_size anche quando ogni file rispetta upload_max_filesize.
Memory_limit deve essere maggiore del file?
Non esiste una formula unica. Uno script può salvare il file senza caricarlo interamente in memoria oppure può decomprimerlo, analizzarlo e crearne più copie. Immagini, ZIP, XML, CSV, PDF e fogli di calcolo possono richiedere molta più memoria della dimensione sul disco.
Impostare memory_limit uguale a upload_max_filesize non garantisce l’elaborazione. Osserva l’errore reale e aumenta con prudenza.
Max_execution_time e max_input_time
max_input_time riguarda il tempo impiegato da PHP per ricevere e analizzare i dati di input. max_execution_time riguarda l’esecuzione dello script, con differenze possibili in base a sistema operativo e modalità PHP.
Un upload lento può inoltre essere interrotto da:
- timeout del browser o della rete;
- proxy e CDN;
- web server;
- applicazione;
- firewall;
- limite del processo PHP;
- operazione successiva al caricamento.
Aumentare max_execution_time non risolve automaticamente un timeout Cloudflare 524 o un limite imposto da un altro livello.
Come modificare i limiti PHP in cPanel
Su Xlogic i principali limiti PHP si possono modificare da cPanel → Software → Select PHP Version → Options quando il dominio utilizza CloudLinux PHP Selector e una versione Alt-PHP. Da questa schermata possono essere disponibili
upload_max_filesize,post_max_size,memory_limit,max_execution_time,max_input_timeemax_input_vars.
Metodo 1: Select PHP Version e scheda Options
- apri cPanel → Software → Select PHP Version;
- verifica che sia selezionata la versione PHP effettivamente usata dal sito;
- apri la scheda Options;
- individua la direttiva da modificare;
- scegli uno dei valori consentiti dall’interfaccia;
- salva oppure attendi la conferma del salvataggio automatico;
- controlla il valore effettivo nell’applicazione e ripeti il test.
I valori disponibili nella scheda Options rappresentano quelli consentiti dalla configurazione Xlogic. Non è possibile superare eventuali limiti massimi del server o del piano. Queste opzioni PHP non aumentano CPU, memoria fisica, I/O, processi o Entry Processes dell’account CloudLinux.
Metodo 2: MultiPHP INI Editor
Usa MultiPHP INI Editor quando il dominio è gestito da EA-PHP tramite MultiPHP Manager, oppure quando PHP Selector mostra native e le opzioni CloudLinux non sono applicate.
- apri cPanel → Software → MultiPHP INI Editor;
- seleziona il dominio corretto;
- usa Basic Mode quando la direttiva è disponibile;
- modifica un valore alla volta;
- salva;
- controlla il risultato nell’applicazione.
Editor Mode modifica direttamente le direttive e richiede maggiore attenzione. Un errore di sintassi può impedire l’applicazione delle impostazioni. Non configurare lo stesso parametro con valori differenti sia in Select PHP Version sia in MultiPHP INI Editor.
Metodo.user.ini
Quando previsto dalla configurazione PHP, un file .user.ini nella directory del sito può contenere:
upload_max_filesize = 64M
post_max_size = 72M
memory_limit = 256M
max_execution_time = 120
max_input_time = 120
Non creare contemporaneamente valori diversi in PHP Selector, MultiPHP INI Editor, .user.ini e wp-config.php. La presenza di più livelli rende difficile sapere quale prevale.
Come verificare i valori effettivi
In WordPress consulta Strumenti → Salute del sito → Informazioni → Server e Gestione media per il limite di upload mostrato. Il valore visualizzato dall’applicazione può essere il minimo tra più limiti.
Puoi usare temporaneamente una pagina diagnostica, ma elimina subito qualsiasi file phpinfo().
Ordine e ambito delle configurazioni
Le direttive possono essere definite a livello server, versione PHP, account, dominio e directory. Il valore effettivo dipende dal gestore PHP e dal tipo di direttiva. Per questo non è sufficiente trovare una riga in un file: bisogna controllare ciò che PHP applica realmente alla richiesta del dominio.
Quando un account contiene più siti, seleziona sempre il dominio corretto nel MultiPHP INI Editor. Un .user.ini inserito nella document root può influenzare anche sottodirectory, mentre un file collocato nel percorso sbagliato può non avere alcun effetto. Evita copie differenti della stessa direttiva.
Limiti del web server e del proxy
Anche con PHP configurato correttamente, il web server o un proxy possono rifiutare il corpo della richiesta o interrompere una connessione troppo lunga. Se il messaggio è HTTP 413, 502, 504 o Cloudflare 524, conserva codice e intestazioni: il problema potrebbe non essere una direttiva PHP.
WordPress continua a mostrare il vecchio limite
- verifica di aver selezionato il dominio corretto;
- controlla la versione PHP realmente usata;
- attendi l’aggiornamento della cache delle direttive
.user.ini; - controlla valori duplicati;
- verifica limiti imposti dall’applicazione o dal plugin;
- non confondere il limite media con quello di importazione del plugin.
Importazioni grandi: soluzione migliore del timeout enorme
Per CSV, XML e cataloghi usa lotti più piccoli, ripresa automatica e processi pianificati. Una singola richiesta web di molti minuti è fragile: può essere interrotta da rete, browser o proxy anche con PHP configurato correttamente.
Per archivi del sito utilizza strumenti di backup e ripristino progettati per operazioni lunghe, come JetBackup 5, invece di caricare manualmente file enormi attraverso WordPress.
Valori troppo alti: rischi
- processi PHP occupati per molti minuti;
- maggiore consumo di memoria per richiesta;
- raggiungimento dei limiti CloudLinux;
- code e rallentamenti per altri visitatori;
- operazioni difettose che impiegano più tempo prima di fallire;
- superficie maggiore per richieste abusive.
Non impostare timeout illimitati o memoria illimitata su un sito pubblico. Correggi l’elaborazione e usa valori proporzionati.
Errori frequenti e relativo controllo
| Messaggio | Controllo principale |
|---|---|
| File exceeds the maximum upload size | upload_max_filesize e limite applicazione |
| POST Content-Length exceeds the limit | post_max_size |
| Allowed memory size exhausted | memory_limit e causa del consumo |
| Maximum execution time exceeded | max_execution_time e operazione lenta |
| Too many input variables | max_input_vars e struttura del form |
| Gateway timeout | PHP, web server, proxy, origine e durata richiesta |
Per la memoria consulta Allowed memory size exhausted; per cambiare versione ed estensioni usa PHP Selector in cPanel.
Domande frequenti
Qual è la relazione tra upload_max_filesize e post_max_size?
upload_max_filesize limita la dimensione del singolo file caricato, mentre post_max_size limita l’intera richiesta POST. Per consentire un upload, post_max_size deve quindi lasciare spazio al file e agli altri dati inviati nella stessa richiesta.
Come modificare e verificare i limiti PHP in cPanel?
Usa gli strumenti PHP disponibili per il dominio, come Select PHP Version o MultiPHP INI Editor, e modifica solo le direttive necessarie. Dopo il salvataggio verifica i valori effettivamente caricati dal sito, perché configurazioni per directory, handler o proxy possono introdurre altri limiti.
Guide Xlogic correlate
- upload_max_filesize exceeded: aumentare il limite PHP
- Maximum execution time exceeded in PHP: come risolverlo
- Errore 413 Content Too Large: upload e proxy