Skip to content

Tutto per WordPress, lo sviluppo web — e non solo

🔍 Dove si trova php.ini in WordPress: trovare e configurare le impostazioni

🔍 Dove si trova php.ini in WordPress: trovare e configurare le impostazioni

Plugin non si installa, il caricamento del tema si interrompe a metà? Il pannello di amministrazione mostra «Allowed memory size exhausted»? Nella maggior parte dei casi, la colpa è di un solo file: php.ini.

Questo è il file di configurazione principale di PHP: stabilisce quanta memoria allocare agli script, per quanto tempo eseguirli e quali dimensioni di file accettare. Sugli hosting tipici, questi limiti sono impostati al ribasso, l’host risparmia risorse.

Ecco dove trovare php.ini in qualsiasi ambiente (WAMP, XAMPP, Linux, cPanel) e quali cinque direttive modificare per WordPress nel 2026. Con numeri precisi, senza tirare a indovinare.

💡 Panoramica rapida:

  • Crea un file PHP di test con la funzione phpinfo e vedi subito il percorso di php.ini su qualsiasi server
  • In WAMP, XAMPP e cPanel il percorso è disponibile tramite l’interfaccia, senza modificare codice
  • Impostazioni chiave per WordPress: memory_limit, max_execution_time, upload_max_filesize, post_max_size e max_input_vars
  • Dopo le modifiche, verifica i limiti effettivi con phpinfo() o WP-CLI per accertarti che l’host non abbia ignorato le modifiche

Cos’è php.ini e perché modificarlo

php.ini è un file di testo con direttive che controllano il comportamento di PHP sul server. Viene caricato a ogni avvio del processo PHP e definisce i limiti: memoria, tempo di esecuzione, dimensione dei file caricati, livello di errore.

Per WordPress, cinque direttive sono critiche. memory_limit alloca RAM per l’elaborazione delle pagine, temi e builder moderni (Gutenberg, Elementor) richiedono facilmente 256 MB e oltre. max_execution_time limita i secondi di esecuzione dello script: se un plugin importa contenuti demo o WooCommerce genera report, il valore predefinito di 30 secondi garantisce un’interruzione. upload_max_filesize e post_max_size controllano i caricamenti: un tema in ZIP può pesare oltre 40 MB, mentre il limite dell’host è di 2 MB. Infine, max_input_vars limita il numero di variabili POST: con 1000 voci di menu e un valore predefinito di 2000, il salvataggio del menu si interrompe senza preavviso.

Buona notizia: php.ini si può modificare anche su hosting condivisi economici. Cattiva notizia: prima bisogna trovarlo, e il percorso dipende dal sistema operativo, dal pannello di controllo e dalla modalità di installazione di PHP (modulo Apache, CGI/FastCGI, PHP-FPM).

Come trovare php.ini: metodo universale con phpinfo()

Il modo più affidabile, che funziona su qualsiasi server, è creare un file PHP di test con la funzione phpinfo().

Crea un file con un nome qualsiasi ed estensione .php (ad esempio, info.php) e inserisci al suo interno:

1<?php phpinfo(); ?>

Carica il file nella root del sito (via FTP, file manager dell’hosting o WP-CLI) e aprilo nel browser: https://your-site.com/info.php.

Nella pagina aperta, cerca la riga Loaded Configuration File, è il percorso completo del php.ini attivo. Se PHP viene eseguito come modulo Apache, il percorso sarà mostrato nella riga Configuration File (php.ini) Path, in questo caso il file stesso potrebbe non esistere e va creato manualmente.

Dopo la verifica, cancella subito info.php, perché espone dettagli di configurazione del server, il che non è sicuro.

Dove si trova php.ini in WAMP

In WAMP (pacchetto Windows: Apache + MySQL + PHP), il percorso di php.ini è disponibile direttamente dalla barra delle applicazioni.

Clicca con il tasto destro sull’icona di WAMP, passa su PHP e seleziona php.ini, il file si aprirà in un editor di testo. Se il pacchetto ha più versioni di PHP, assicurati di aver selezionato quella su cui gira il sito (visibile nella barra: WAMP → PHP → Versione).

Percorso alternativo dal menu di WAMP: clic sinistro sull’icona → PHPphp.ini. Il file risiede fisicamente in C:\wamp64\bin\php\phpX.Y.Z\php.ini (o C:\wamp\bin\... per le versioni precedenti).

Dove si trova php.ini in XAMPP

Finestra del pannello di controllo XAMPP con pulsante Config

In XAMPP su Windows e Linux, il percorso di php.ini si ottiene dal pannello di controllo. Apri il Pannello di controllo di XAMPP e clicca sul pulsante Config nella riga del modulo Apache. Nel menu a discesa, seleziona PHP (php.ini), il file si aprirà nell’editor.

Se il pulsante Config non c’è (vecchia versione di XAMPP), vai direttamente a: C:\xampp\php\php.ini su Windows o /opt/lampp/etc/php.ini su Linux.

Dopo le modifiche, riavvia Apache con il pulsante StopStart nel pannello di controllo.

Dove si trova php.ini in Linux (VPS / dedicato)

Su un server Linux senza pannello di controllo, php.ini si trova con un solo comando da terminale:

1php -i | grep &quot;Loaded Configuration File&quot;

L’output sarà qualcosa del tipo:

1Loaded Configuration File => /etc/php/8.2/cli/php.ini

Sfumatura importante: PHP per riga di comando (CLI) e per server web (Apache/Nginx) usa spesso php.ini diversi. Il comando sopra mostra il percorso per la versione CLI. Per trovare il percorso per il server web, crea info.php con il metodo della sezione precedente e aprilo nel browser, oppure esegui:

1ls /etc/php/*/apache2/php.ini
2ls /etc/php/*/fpm/php.ini

I percorsi tipici dipendono dalla versione PHP e dal server web:

  • Apache: /etc/php/8.2/apache2/php.ini
  • PHP-FPM (Nginx): /etc/php/8.2/fpm/php.ini
  • Percorso generico (se PHP è compilato manualmente): /usr/local/lib/php.ini

Dopo le modifiche, riavvia il server web: sudo systemctl restart apache2 o sudo systemctl restart php8.2-fpm.

Dove si trova php.ini in cPanel e altri pannelli di hosting

File manager di cPanel con cartella public_html evidenziata

Sugli hosting condivisi con cPanel, il file php.ini di solito si trova nella root del sito, public_html. Per vederlo:

  • Accedi a cPanel e apri File Manager
  • Vai alla cartella public_html
  • Cerca php.ini nell'elenco dei file
Directory root public_html nel file manager di cPanel

Se il file non esiste, crealo con il pulsante + File. Scrivi le direttive necessarie e salva. L'host applicherà le impostazioni nel giro di pochi minuti.

Sugli host moderni, MultiPHP Manager (cPanel) o Select PHP Version sono sempre più comuni: permettono di modificare php.ini tramite interfaccia web senza entrare nel file manager. Se il tuo pannello supporta uno strumento del genere, usalo: meno rischio di errori di sintassi.

Caso a parte: .user.ini. Sugli host con PHP-FPM (FastCGI), php.ini nella root del sito potrebbe essere ignorato; al suo posto si crea un file .user.ini con le stesse direttive. Controlla la documentazione dell'host per sapere quale file usare.

Impostazioni php.ini consigliate per WordPress (aggiornate al 2026)

I valori "predefiniti" di base in php.ini non cambiano da decenni e sono pensati per script semplici, non per CMS moderni. WordPress con i plugin attuali richiede limiti significativamente più alti. Di seguito i valori consigliati, testati sul campo.

Direttive principali

Direttiva

Minimo

Consigliato

Perché

memory_limit

256M

512M

Memoria per pagina; Gutenberg, WooCommerce, Elementor consumano facilmente 128+ MB

max_execution_time

60

300

Secondi per script; import demo, generazione thumbnail, backup

upload_max_filesize

64M

128M

Dimensione file caricati; temi e plugin in ZIP spesso pesano 20-50 MB

post_max_size

64M

128M

Dimensione totale richiesta POST; deve essere ≥ upload_max_filesize

max_input_vars

2000

4000

Numero di variabili POST; influisce direttamente sul salvataggio dei menu (50+ voci = troncamento)

max_input_time

60

300

Secondi per l'analisi dei dati in input; -1 = illimitato

1memory_limit = 512M
2max_execution_time = 300
3upload_max_filesize = 128M
4post_max_size = 128M
5max_input_vars = 4000
6max_input_time = 300
7file_uploads = On

La direttiva safe_mode è stata rimossa da PHP a partire dalla versione 5.4, non aggiungerla alla configurazione. Se vedi questa riga in un vecchio php.ini, cancellala senza esitazione.

Caching (opcache)

Per i siti in produzione, opcache è obbligatorio: offre un boost di velocità di 2-3x memorizzando nella cache il bytecode compilato:

1opcache.enable = 1
2opcache.memory_consumption = 256
3opcache.max_accelerated_files = 10000
4opcache.revalidate_freq = 2
5opcache.validate_timestamps = 1

Log degli errori

Su un sito live, la visualizzazione degli errori a schermo deve essere disattivata, ma il logging deve essere attivo:

1display_errors = Off
2log_errors = On
3error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

Metodi alternativi:.htaccess e wp-config.php

L'accesso a php.ini non è sempre disponibile. Su alcuni host, esistono delle soluzioni alternative.

Via.htaccess (Apache + mod_php)

Aggiungi a .htaccess nella root del sito:

1php_value memory_limit 512M
2php_value upload_max_filesize 128M
3php_value post_max_size 128M
4php_value max_execution_time 300

Questo funzionerà solo se PHP viene eseguito come modulo Apache (mod_php). Con PHP-FPM, le direttive php_value causeranno un errore 500; in questo caso usa .user.ini.

Via wp-config.php

Aggiungi prima della riga /* That's all, stop editing! */:

1define('WP_MEMORY_LIMIT', '512M');
2define('WP_MAX_MEMORY_LIMIT', '512M');

WP_MEMORY_LIMIT imposta il limite per il frontend, WP_MAX_MEMORY_LIMIT per l'admin. Questo non sostituisce php.ini, ma spesso risolve l'errore "Allowed memory size exhausted" proprio quando l'accesso alla configurazione del server è limitato.

Video: trovare e modificare php.ini nella pratica

Breve video con dimostrazione visiva di tutti i metodi descritti, da phpinfo() al MultiPHP Manager in cPanel:

⁉️🤔 Domande frequenti

Perché non è cambiato nulla dopo aver modificato php.ini?

Il processo PHP non è stato riavviato. Riavvia Apache (systemctl restart apache2 o tramite pulsante nel pannello), PHP-FPM (systemctl restart phpX.Y-fpm), oppure attendi il riavvio automatico su hosting condiviso (di solito 2-5 minuti). Verifica di stare modificando esattamente il php.ini indicato da phpinfo() nella riga Loaded Configuration File (un server può averne diversi).

Dopo le modifiche, controlla sempre il limite effettivo tramite phpinfo(): l'host potrebbe sovrascrivere alcune direttive con impostazioni globali. Se il valore non è cambiato, crea un .user.ini nella root del sito (per PHP-FPM) oppure contatta il supporto.

Di quale memory_limit ha davvero bisogno WordPress nel 2026?

256M: minimo di sicurezza per un sito tipico con 10-15 plugin. Se è installato un page builder (Elementor, Bricks, Breakdance), WooCommerce o un plugin di caching complesso, imposta 512M. Anche i siti su Gutenberg con molti blocchi e pattern tendono verso i 512M. 128M, raccomandato nelle vecchie guide, non è più sufficiente per WordPress moderno: il solo core con un tema Full Site Editing può raggiungere questo limite.

Eccezione: hosting condiviso economico con un tetto rigido. Se l'host non consente di alzare memory_limit oltre 128M, valuta di cambiare piano o fornitore: un sito con questo limite andrà in crash a ogni altro aggiornamento.

Cosa è più importante: modificare php.ini o wp-config.php?

php.ini agisce a livello di sistema, wp-config.php a livello applicativo. Se hai accesso a php.ini, modifica quello: i limiti si applicheranno globalmente e non verranno resettati dagli aggiornamenti del core. Usa wp-config.php come alternativa quando l'host ha bloccato php.ini. WP_MEMORY_LIMIT in wp-config.php sovrascrive memory_limit da php.ini per WordPress, ma non influisce su max_execution_time, upload_max_filesize e altre direttive: quelle vanno modificate via .htaccess o .user.ini.