54 04/04/2026 07/04/2026 9 min

Cos’è max_input_time

max_input_time è un’impostazione di PHP che definisce per quanti secondi lo script può impiegare a ricevere e processare i dati in ingresso prima che inizi l’esecuzione vera e propria del codice. In pratica, non misura il tempo totale della pagina, ma il tempo dedicato a leggere input come POST, GET, COOKIE e, in alcuni casi, il caricamento dei file.

Se il valore è troppo basso, un form pesante, un import, un upload o una richiesta lenta possono fallire con errori come pagina bianca, timeout o invii incompleti. Se è troppo alto senza un motivo reale, si lascia più margine a richieste lente o anomale, con un impatto potenziale sulla stabilità del sito.

Il punto chiave è questo: max_input_time non è max_execution_time. Il primo riguarda il tempo di acquisizione dei dati in ingresso; il secondo riguarda il tempo di esecuzione dello script dopo che i dati sono stati letti.

Quando serve aumentarlo

Ha senso alzare max_input_time quando il sito gestisce operazioni che richiedono più tempo del normale in fase di input. I casi più comuni sono:

  • importazioni di prodotti, articoli o utenti da CSV/XML;
  • form con molti campi o allegati pesanti;
  • upload di immagini o archivi molto grandi;
  • backend WordPress, WooCommerce o CMS con plugin che elaborano dati esterni;
  • connessioni lente tra client e server, soprattutto su reti mobili o VPN;
  • ambienti con storage lento o I/O elevato, dove la lettura dei dati impiega più del previsto.

Se invece il problema è un’elaborazione lunga dopo il caricamento dei dati, aumentare solo max_input_time non basta: in quel caso va valutato anche max_execution_time, oltre a eventuali limiti del web server, del proxy e del pannello hosting.

Valori tipici e prudenza operativa

Il valore predefinito può cambiare in base alla distribuzione PHP e al provider. In molti ambienti si trovano valori come 60 secondi o -1. Un valore troppo aggressivo, come 0 o limiti molto bassi, può rendere instabili upload e submit complessi. Un valore troppo alto, invece, può mascherare problemi di performance o di rete che sarebbe meglio correggere alla radice.

Una regola pratica è partire dal minimo necessario. Per molti siti bastano valori tra 60 e 120 secondi. Per importazioni o upload più pesanti si può salire, ma solo dopo aver verificato che il resto della catena sia coerente: PHP, web server, proxy, firewall, CDN e applicazione.

Come verificare il valore attuale

Prima di cambiare qualcosa, conviene leggere il valore effettivo usato dal sito. Su hosting condiviso o con pannelli come cPanel, Plesk o FastPanel, il valore può essere diverso da quello del file globale, perché ogni dominio può avere override locali.

Il modo più semplice è creare un file PHP temporaneo con:

<?php phpinfo(); ?>

Poi apri il file nel browser e cerca max_input_time. Se preferisci un controllo rapido via terminale su una VPS, puoi usare:

php -i | grep max_input_time

Su alcuni sistemi conviene verificare anche la versione PHP effettiva del sito, perché ogni versione può avere configurazioni separate. L’esito atteso è vedere il valore realmente applicato, non solo quello teorico del file di configurazione.

Come aumentarlo da cPanel

Su cPanel il metodo più sicuro è usare l’interfaccia del dominio, perché evita modifiche manuali non allineate al profilo PHP in uso.

  1. Apri cPanel e vai su Select PHP Version, MultiPHP INI Editor oppure PHP Options, in base a cosa è disponibile sul server.
  2. Seleziona il dominio corretto.
  3. Cerca max_input_time e imposta un valore, ad esempio 120.
  4. Salva le modifiche.
  5. Ricarica il sito o il pannello dell’applicazione e verifica che l’impostazione sia stata applicata con phpinfo() o con il controllo del CMS.

Se il valore non cambia, il provider potrebbe imporre un limite a livello globale. In quel caso serve intervenire sul file .user.ini oppure chiedere al supporto di verificare il template PHP assegnato al dominio.

Come aumentarlo da Plesk

In Plesk la strada più pulita è la configurazione PHP del dominio.

  1. Vai su Domini e apri il dominio interessato.
  2. Entra in Impostazioni PHP.
  3. Trova max_input_time.
  4. Imposta il valore desiderato, per esempio 120 o 180 se hai un caso reale che lo richiede.
  5. Applica e poi verifica il valore con phpinfo() o dal tool diagnostico del pannello.

Se il dominio usa una versione PHP gestita da FPM, il valore potrebbe essere letto da un file di configurazione per pool o da un template del provider. In quel caso la modifica via GUI resta comunque la prima scelta, perché è più reversibile e meno soggetta a errori.

Come aumentarlo da FastPanel

Su FastPanel, in genere, si interviene dalle impostazioni del sito o dell’ambiente PHP assegnato al dominio.

  1. Apri il pannello e seleziona il sito.
  2. Vai nella sezione relativa a PHP o alle impostazioni avanzate del sito.
  3. Modifica max_input_time.
  4. Salva e riavvia, se richiesto, il servizio PHP-FPM collegato al sito.
  5. Controlla il valore effettivo con una pagina phpinfo() temporanea o con il tool di diagnostica del pannello.

Se il pannello non espone direttamente il parametro, spesso il fallback è un file .user.ini nella root del sito.

Come aumentarlo con .user.ini

Su molti hosting PHP-FPM, soprattutto condivisi, la modifica più compatibile è nel file .user.ini nella directory principale del sito. Prima di cambiare qualcosa, fai una copia del file esistente se già presente.

max_input_time = 120

Il file va salvato nella document root del sito, ad esempio /home/utente/public_html/ o /var/www/vhosts/dominio/httpdocs/, a seconda dell’ambiente. Dopo la modifica, può essere necessario attendere alcuni minuti per il refresh delle direttive, perché PHP può cacheare il contenuto di .user.ini.

Questo metodo è utile perché è reversibile e non tocca la configurazione globale del server. Se però il provider ha bloccato l’override, il valore potrebbe non cambiare: in quel caso la verifica con phpinfo() è decisiva.

Come farlo da php.ini o da configurazione globale

Su una VPS o su un server gestito direttamente, puoi modificare il file php.ini della versione PHP in uso. Il percorso varia in base alla distribuzione e al metodo di installazione.

Su Debian e Ubuntu, con PHP-FPM, i file possono trovarsi in percorsi simili a:

/etc/php/8.2/fpm/php.ini

Su AlmaLinux, Rocky Linux o CentOS, i percorsi spesso sono simili a:

/etc/php.ini

Prima di intervenire, fai sempre backup del file. Esempio:

cp /etc/php/8.2/fpm/php.ini /etc/php/8.2/fpm/php.ini.bak

Poi modifica il parametro:

max_input_time = 120

Dopo il salvataggio, riavvia il servizio PHP-FPM relativo alla versione usata dal sito. Su sistemi con Nginx o Apache, può essere utile controllare anche il web server, ma nella maggior parte dei casi basta PHP-FPM.

Esempio di verifica su server Linux:

php -i | grep max_input_time

L’esito atteso è il valore aggiornato. Se il comando mostra un valore diverso da quello atteso, stai probabilmente leggendo una versione PHP diversa da quella servita dal sito.

Non confondere max_input_time con altri limiti

Molti problemi vengono diagnosticati male perché si guarda il parametro sbagliato. Ecco i limiti più vicini da considerare:

  • max_execution_time: tempo massimo di esecuzione dello script dopo l’input;
  • memory_limit: memoria disponibile a PHP;
  • post_max_size: dimensione massima del corpo della richiesta;
  • upload_max_filesize: dimensione massima del singolo file caricato;
  • timeout del web server: può interrompere la richiesta prima di PHP;
  • timeout di proxy o CDN: può tagliare richieste lunghe o lente.

Se alzi solo max_input_time ma lasci troppo basso post_max_size, un upload grande continuerà a fallire. Se alzi solo max_input_time ma il proxy chiude la connessione a 60 secondi, il problema resta identico.

Esempio pratico: importazione lenta in WordPress

Supponiamo di importare un file XML o CSV molto grande in WordPress. L’operazione può impiegare molto tempo nel caricamento del file e nella lettura iniziale dei dati. Se il server è lento o il file è grande, un valore di 30 secondi può essere insufficiente.

In questo caso, una configurazione ragionevole potrebbe essere:

  • max_input_time = 120
  • max_execution_time = 300
  • memory_limit adeguato al plugin di import
  • post_max_size e upload_max_filesize compatibili con il file

Dopo la modifica, conviene ripetere l’import su un file di test o su una porzione ridotta dei dati, così da verificare se il collo di bottiglia è davvero il tempo di input o se il problema è altrove.

Come capire se hai risolto davvero

La verifica non deve limitarsi a “la pagina si apre”. Devi controllare il punto critico che prima falliva. Se prima falliva un upload, rifai un upload simile. Se prima falliva un import, ripeti l’import con un dataset comparabile. Se prima si bloccava un form, invia un payload simile a quello reale.

Gli esiti positivi da cercare sono semplici:

  • nessun errore di timeout durante la ricezione dei dati;
  • nessuna interruzione a metà upload o submit;
  • valore di max_input_time coerente con quello impostato;
  • assenza di nuovi errori nei log PHP o del web server.

Se il problema persiste, la diagnosi va allargata ai log applicativi, ai log PHP-FPM, ai timeout del web server e alle dimensioni delle richieste. In molti casi il vero limite non è PHP ma la catena a monte o il codice dell’applicazione.

Buone pratiche di sicurezza e manutenzione

Aumentare un timeout non è un male in sé, ma va fatto con criterio. La scelta migliore è sempre quella che risolve il problema senza aprire finestre inutilmente lunghe per richieste lente o sospette.

  • usa il valore minimo che consente il lavoro reale;
  • preferisci modifiche per singolo dominio, non globali, se il problema riguarda solo un sito;
  • tieni un backup della configurazione prima di intervenire;
  • verifica i log dopo il cambio;
  • se il sito è in produzione, prova prima in staging quando possibile.

Se il problema si ripresenta spesso, non limitarti ad alzare il parametro. È meglio capire se l’import può essere spezzato in batch, se il plugin è inefficiente, se il server ha I/O lento o se la connessione al database è il vero collo di bottiglia.

In sintesi operativa

max_input_time serve a controllare quanto PHP può impiegare per leggere i dati in ingresso. Aumentarlo è utile quando upload, form o import richiedono più tempo del normale. La modifica va fatta nel punto giusto: pannello hosting, .user.ini o php.ini, a seconda dell’ambiente.

La regola pratica è questa: verifica il valore attuale, cambia il parametro nel livello corretto, controlla che il sito legga davvero la nuova impostazione e poi ripeti l’operazione che prima falliva. Se il problema non si risolve, il limite è probabilmente altrove e va cercato in max_execution_time, nei timeout del web server, nei limiti di upload o nelle prestazioni del server.

Assunzione operativa: le procedure sopra coprono i casi più comuni su hosting condiviso e VPS con PHP-FPM.