In breve: Aggiungi
php_value max_input_vars 3000a.htaccess, impostamax_input_vars = 3000inphp.inio aggiungi@ini_set('max_input_vars', 3000);awp-config.php. Scegli il metodo che corrisponde al tuo ambiente di hosting — vedi la tabella qui sotto.
La direttiva max_input_vars è stata introdotta in PHP come misura di sicurezza che limita il numero massimo di variabili POST che il server elabora per richiesta. Quando una pagina WordPress invia più variabili di quante il limite consenta, il server scarta silenziosamente quelle in eccesso — facendo perdere voci ai menu, sparire le impostazioni del tema e fallire il salvataggio delle pagine di configurazione dei plugin.
Nei ticket di supporto WP STAGING, il trigger più comune è un sito WooCommerce o WPML con una grande pagina di impostazioni che scarta silenziosamente i campi al salvataggio.
Portare max_input_vars a 3000 o più risolve questi sintomi nella maggior parte dei casi. Il metodo giusto dipende dal tuo ambiente di hosting. Se non sei sicuro di quale si applichi, contatta il tuo provider di hosting prima di modificare i file di configurazione del server — non tutti gli host condivisi concedono il permesso per ciascuno dei metodi qui sotto.
Contents
Quale metodo dovresti usare?
| Tipo di hosting | Metodo consigliato | Note |
|---|---|---|
| cPanel condiviso (Apache) | Modificare .htaccess |
Nessun riavvio del server necessario |
| Hosting condiviso (nginx) | php.ini o pannello dell’host |
Il metodo varia in base al provider |
| WordPress gestito (WP Engine, Kinsta, ecc.) | Pannello di controllo dell’host o supporto | La modifica diretta dei file può essere limitata |
| VPS o server dedicato con SSH | Modificare il php.ini globale |
Riavvia PHP-FPM dopo il salvataggio |
| Gestito nel cloud (Cloudways, SpinupWP, ecc.) | Pannello di controllo dell’host | Ogni provider espone la propria interfaccia delle impostazioni |
Se il tuo host non supporta nessuno dei metodi basati su file qui sotto, apri un ticket di supporto — aumentare max_input_vars è una richiesta di routine.
Come aumentare il limite PHP Max Input Vars
I tre metodi più comuni sono modificare .htaccess, php.ini o wp-config.php. Provali nell’ordine che corrisponde al tuo ambiente di hosting; passa al successivo solo se il primo non ha effetto.
Metodo 1: Modificare il file .htaccess
Il file .htaccess si trova nella directory radice della tua installazione WordPress. Aprilo con il tuo gestore file o client FTP.

Se non riesci a individuare il file, la maggior parte dei gestori file di hosting nasconde i dotfile per impostazione predefinita. Cerca un’opzione Mostra file nascosti e attivala.

Apri .htaccess in un editor di testo e aggiungi la seguente riga:
php_value max_input_vars 3000

Se il tuo server usa l’estensione di sicurezza Suhosin, usa invece queste righe:
php_value suhosin.request.max_vars 3000
php_value suhosin.post.max_vars 3000
Un valore di 3000 copre la maggior parte delle installazioni WordPress con menu grandi o pagine di impostazioni dei plugin complesse. Aumentalo ulteriormente solo se i sintomi persistono dopo il salvataggio.
Metodo 2: Modificare il file php.ini
Anche il file php.ini si trova nella directory radice della tua installazione WordPress. Se non esiste alcun file lì, creane uno vuoto.

Apri il file in un editor di testo e aggiungi o aggiorna questa riga:
max_input_vars = 3000

Salva il file. Se hai accesso alla shell, riavvia PHP-FPM o Apache affinché il valore abbia effetto immediato. Sugli host condivisi, la richiesta PHP successiva recepisce automaticamente la nuova impostazione.
Metodo 3: Modificare il file wp-config.php
Accedi al tuo pannello di hosting o client FTP e vai al Gestore file. Apri wp-config.php nella radice della tua installazione WordPress.

Aggiungi la seguente riga prima della riga che recita /* That's all, stop editing! */:
@ini_set( 'max_input_vars', 3000 );

Salva il file. Questo metodo imposta il limite a runtime di PHP e funziona negli ambienti di hosting condiviso in cui non puoi modificare .htaccess o php.ini direttamente. Puoi sostituire 3000 con qualsiasi valore richiesto dal tuo sito — consigliamo 3000 o più per coprire le pagine di amministrazione complesse.
Nota sui sistemi legacy: hosting PHP 5
PHP 5 ha raggiunto la fine del ciclo di vita a dicembre 2018. Se il tuo host esegue ancora PHP 5, l’approccio php.ini sopra si applica, ma potresti dover creare anche i file php5.ini e user.ini nella stessa directory con la stessa direttiva:
max_input_vars = 3000
Contatta immediatamente il tuo host per l’aggiornamento — i server PHP 5 non ricevono più patch di sicurezza. Le direttive dell’estensione Suhosin (suhosin.get.max_vars, suhosin.post.max_vars, suhosin.request.max_vars) sono rilevanti solo sui server con Suhosin installato; i moderni server PHP 8.x non le richiedono.
Cosa fare se la soluzione non funziona
Se i metodi sopra non hanno risolto il problema, lavora su questi controlli prima di contattare il tuo host.
La modifica non è persistita dopo il salvataggio. Il pannello di controllo del tuo host potrebbe fornire un php.ini master che sovrascrive qualsiasi file locale che crei. Apri il pannello di configurazione PHP del tuo host (in cPanel: Software → Seleziona versione PHP → Opzioni) e imposta max_input_vars lì direttamente.
Il valore è impostato ma i sintomi rimangono. Un’altra direttiva PHP potrebbe essere il vero collo di bottiglia. Crea un file temporaneo nella radice del tuo sito contenente <?php phpinfo(); ?>, aprilo in un browser e cerca max_input_vars per confermare che il nuovo valore è attivo. Controlla anche post_max_size — se è inferiore ai dati che la tua pagina di impostazioni invia, aumentare solo max_input_vars non risolverà il problema.
phpinfo() non mostra il nuovo valore. PHP può caricare più file di configurazione. L’output di phpinfo() mostra Configuration File (php.ini) Path — conferma di aver modificato il file lì elencato. Sui server cPanel, il php.ini attivo si trova spesso nella directory home dell’utente, non nella radice web di WordPress.
L’approccio wp-config.php non ha effetto. Alcune configurazioni del server disabilitano ini_set() tramite la direttiva disable_functions. In tal caso, usa invece il metodo .htaccess o php.ini.
Per assistenza su un limite di configurazione PHP correlato, vedi limite di memoria PHP in WordPress.
La specifica ufficiale di questa direttiva si trova nel manuale PHP: max_input_vars.
Conclusione
Aumentare max_input_vars è una modifica di configurazione di una sola riga, ma scegliere il file giusto è importante: .htaccess per gli host Apache condivisi, php.ini per gli ambienti VPS, wp-config.php quando non puoi modificare i file di configurazione del server. Se la modifica non regge, è probabile che la configurazione master del tuo host la stia sovrascrivendo — i passaggi di risoluzione dei problemi sopra coprono le cause più comuni.
Esegui sempre un backup del tuo sito prima di modificare i file di configurazione del server. Se hai bisogno di ulteriore aiuto, il nostro team di supporto può assisterti.
Articoli correlati:
- Come aumentare la dimensione massima di caricamento dei file in WordPress
- Il sito di staging reindirizza al sito live
- PHP Fatal Error: dimensione di memoria consentita esaurita
- Come correggere l’errore «Spiacenti, non sei autorizzato ad accedere a questa pagina» in WordPress
- Come correggere i problemi di ricaricamento e reindirizzamento della pagina di login di WordPress