Se state costruendo o gestendo un sito WordPress e improvvisamente incontrate l’errore:
“Attenzione: Raggiunto il limite massimo di input vars”
oppure
“Aumenta max_input_vars a un valore più alto”
… significa che il vostro server sta bloccando il PHP nell’elaborazione di troppi campi di input – spesso si vede quando si salvano menu di grandi dimensioni, costruttori di pagine (come Elementor o WPBakery) o invii di moduli.
In questo articolo avanzato tratteremo:
max_input_vars è una direttiva PHP che limita il numero di variabili di input che PHP può accettare (tramite POST, GET e REQUEST). Questo protegge il server da attacchi hashing denial-of-service, ma influisce anche sulle operazioni legittime nelle piattaforme CMS.
Valore predefinito:
Se si supera questo limite (ad esempio salvando un menu di WordPress con 1000 voci), PHP interrompe l’input e WordPress non riesce a salvare tutte le modifiche.
Questo è il modo più pulito per cambiare le max_input_vars se si gestisce un proprio server:
Passo 1: Individuare o creare un file php.ini (dipende dal server):
Sostituire 8.1 con la propria versione di PHP.
Passo 2: trovare e modificare la direttiva:
Passo 3: riavviare il server web:
oppure
Se non riuscite ad accedere a php.ini, provate a modificare .htaccess nella root della vostra installazione di WordPress:
⚠️ Questo funziona solo se mod_php è abilitato. Alcuni host utilizzano invece PHP-FPM, dove questo metodo non funziona.
WordPress non supporta in modo nativo la sovrascrittura di max_input_vars, ma in alcune configurazioni l’aggiunta di questa opzione potrebbe funzionare:
Posizionarlo sopra la riga che dice:
Se si utilizza un hosting condiviso con cPanel:
funziona immediatamente, senza bisogno di riavviare.
Creare o modificare .user.ini nella cartella principale di WordPress:
Quindi riavviare PHP (o attendere 5 minuti se l’host applica le modifiche automaticamente).
NGINX non usa .htaccess, quindi configurare PHP tramite il pool FPM o php.ini.
Modificare /etc/php/8.1/fpm/php.ini:
Quindi riavviare:
Creare un file phpinfo.php nella root di WordPress:
Accedere via browser: https://yourdomain.com/phpinfo.php
Cercare max_input_vars e verificare che sia aggiornato.
non dimenticate di cancellare il file dopo, perché espone informazioni sensibili sul server.
Raccomandazioni | Motivo |
---|---|
Non impostare max_input_vars a 999999 | Può portare a vulnerabilità DoS |
Limitarsi a 3000-5000 | Abbastanza per i grandi menu/costruttori di pagine |
Monitorare i limiti di memoria | Grandi vars di input = maggiore utilizzo di memoria |
Usare phpinfo() o ini_get() per il debug | Evitare le congetture |
A volte questo problema è accompagnato da altri limiti che vengono colpiti:
Questi possono anche essere inseriti in php.ini, .htaccess o .user.ini.
Capire e risolvere l’errore max_input_vars in WordPress.L’errore max_input_vars è un problema sottile ma potenzialmente dannoso in WordPress che spesso passa inosservato, finché non si rompe qualcosa di critico. Questa direttiva di configurazione PHP controlla il numero massimo di variabili di input (come i campi dei moduli o le voci dei menu) che il vostro server elaborerà in una singola richiesta. Se questo limite è troppo basso, può impedire silenziosamente a parti del vostro sito web di salvare correttamente le modifiche, soprattutto in ambienti complessi.
Dove si manifesta il problema
Questo errore si presenta in genere nei seguenti scenari:
Menu di WordPress grandi o annidati: Quando si creano strutture di menu dettagliate, è possibile che solo una parte del menu venga salvata o che le modifiche scompaiano dopo il salvataggio.