Hosting web16 dicembre 2025 339 visualizzazioni

Come modificare le impostazioni PHP (php.ini) su cPanel

Come modificare le impostazioni PHP (php.ini) su cPanel

Tempo stimato : 10 minuti
Difficoltà : Intermedia ⭐⭐
Prerequisiti : Accesso a cPanel


📋 Introduzione

Il file php.ini è il file di configurazione principale di PHP. Controlla impostazioni essenziali come:

  • 📦 La dimensione massima di upload dei file
  • 🧠 La memoria allocata agli script
  • ⏱️ Il tempo di esecuzione degli script
  • 🔧 Le estensioni PHP attivate
  • 🐛 L'visualizzazione degli errori

Su cPanel, puoi modificare queste impostazioni facilmente grazie al MultiPHP INI Editor, senza dover modificare manualmente i file di configurazione.


🎯 Quando Modificare le Impostazioni PHP?

Situazioni comuni

❌ Problema riscontrato ✅ Impostazione da modificare
"Il file caricato supera la upload_max_filesize" upload_max_filesize
"Dimensione massima della memoria esaurita" memory_limit
"Tempo massimo di esecuzione superato" max_execution_time
"Post Content-Length supera il limite" post_max_size
Formulari complessi non si registrano max_input_vars
Timeout durante importazioni/esportazioni max_input_time
Errori 500 su siti WordPress/WooCommerce Più impostazioni

📊 Le Impostazioni PHP Essenziali

Tabella riepilogativa

Impostazione Descrizione Default server Consigliato WordPress Consigliato WooCommerce
memory_limit Memoria max per script 128M 256M 512M
upload_max_filesize Dimensione max di un file caricato 2M - 64M 64M 128M
post_max_size Dimensione max dei dati POST 8M 128M 256M
max_execution_time Durata max di esecuzione (sec) 30 300 600
max_input_time Durata max lettura dati (sec) 60 300 600
max_input_vars Numero max di variabili 1000 3000 5000

📖 Descrizione Dettagliata delle Impostazioni

🧠 memory_limit

Descrizione : Quantità massima di memoria che uno script PHP può utilizzare.

memory_limit = 256M
Tipo di sito Valore consigliato
Sito vetrina semplice 128M
Blog WordPress 256M
WordPress + plugin 256M - 512M
WooCommerce 512M
Applicazione PHP pesante 512M - 1024M

Errore associato :

Fatal error: Allowed memory size of 134217728 bytes exhausted

⚠️ Importante : memory_limit deve essere superiore o uguale a post_max_size.


📤 upload_max_filesize

Descrizione : Dimensione massima di un file individuale durante un upload.

upload_max_filesize = 64M
Utilizzo Valore consigliato
Immagini web ottimizzate 16M
Foto ad alta risoluzione 32M
Temi/plugin WordPress 64M
Video brevi 128M
File di grandi dimensioni 256M+

Errore associato :

The uploaded file exceeds the upload_max_filesize directive in php.ini

💡 Consiglio : Controlla anche i limiti lato WordPress : Media → Aggiungi.


📨 post_max_size

Descrizione : Dimensione massima totale dei dati inviati tramite POST (include i file caricati).

post_max_size = 128M

Regola importante :

post_max_size ≥ upload_max_filesize

💡 Consiglio : Imposta post_max_size leggermente superiore a upload_max_filesize per tenere conto dei metadati.

Esempio :

  • upload_max_filesize = 64M
  • post_max_size = 68M o 128M

Errore associato :

Warning: POST Content-Length of X bytes exceeds the limit of Y bytes

⏱️ max_execution_time

Descrizione : Durata massima (in secondi) durante la quale uno script può essere eseguito.

max_execution_time = 300
Operazione Valore consigliato
Navigazione normale 30 (default)
Import/export WordPress 300
Generazione di report 300 - 600
Migrazione di sito 600 - 900
Backup automatici 600

Errore associato :

Fatal error: Maximum execution time of 30 seconds exceeded

⚠️ Attenzione : Su hosting condiviso, questo valore può essere limitato (spesso a 90-120 secondi).


⏳ max_input_time

Descrizione : Durata massima (in secondi) per analizzare i dati di input (POST, GET, upload).

max_input_time = 300
Situazione Valore consigliato
Formulari semplici 60 (default)
Upload di grandi file 300
Import CSV/XML 300 - 600
Connessione lenta 600

💡 -1 = nessun limite (sconsigliato in produzione).


🔢 max_input_vars

Descrizione : Numero massimo di variabili di input accettate (campi del modulo).

max_input_vars = 3000
Tipo di contenuto Valore consigliato
Sito semplice 1000 (default)
WordPress con menu complessi 3000
WooCommerce con attributi 5000
Costruttori di pagine (Elementor, Divi) 5000 - 10000

Sintomi se troppo bassi :

  • Menu WordPress che non si registrano completamente
  • Opzioni del tema che scompaiono
  • Variazioni WooCommerce non salvate

🐛 display_errors

Descrizione : Mostra gli errori PHP direttamente sulla pagina.

display_errors = Off   # Produzione (consigliato)
display_errors = On    # Solo sviluppo

⚠️ Sicurezza : Sempre disattivato in produzione! Gli errori possono rivelare informazioni sensibili.


📝 error_reporting

Descrizione : Livello di dettaglio degli errori da segnalare.

Valore Descrizione
E_ALL Tutti gli errori
E_ALL & ~E_NOTICE Errori tranne le notifiche
E_ALL & ~E_NOTICE & ~E_DEPRECATED Senze notifiche né deprecazioni
0 Nessun errore

Produzione consigliato :

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

📁 error_log

Descrizione : Percorso del file dove gli errori sono registrati.

error_log = /home/user/logs/php_errors.log

💡 Utile per il debug senza mostrare gli errori ai visitatori.


🔒 allow_url_fopen

Descrizione : Consente l'apertura di file remoti tramite URL.

allow_url_fopen = On   # Spesso necessario per WordPress

Utilizzato da :

  • Aggiornamenti WordPress
  • Recupero di feed RSS
  • API esterne

🔐 allow_url_include

Descrizione : Consente l'inclusione di file remoti tramite include/require.

allow_url_include = Off   # Sempre disattivato (sicurezza)

⚠️ Sicurezza : Non attivare mai! Rischio elevato di iniezione di codice.


⚙️ Metodo 1 : MultiPHP INI Editor (Modalità Base)

La modalità base offre un'interfaccia semplice con campi pre-configurati.

Passo 1 : Accedere a MultiPHP INI Editor

  1. Accedi a cPanel
  2. Nella sezione Software, clicca su MultiPHP INI Editor

Immagine

Passo 2 : Selezionare la posizione

  1. Rimani sulla scheda Modalità Base (Basic Mode)
  2. Nel menu a discesa "Seleziona una posizione", scegli :
    • Directory personale (home) : Si applica a tutti i domini
    • Document root di un dominio : Si applica solo a quel dominio
    • Immagine

💡 Consiglio : Per modificare un solo sito, seleziona il suo document root (es: public_html/miosito.com).


Passo 3 : Modificare le impostazioni

Dopo aver selezionato la posizione, appare un elenco di direttive PHP :

Direttiva Campo da modificare
memory_limit Inserisci 256M
upload_max_filesize Inserisci 64M
post_max_size Inserisci 128M
max_execution_time Inserisci 300
max_input_time Inserisci 300
max_input_vars Inserisci 3000

Passo 4 : Applicare le modifiche

  1. Clicca sul pulsante Applica (Apply)
  2. Appare un messaggio di conferma :
✅ Le impostazioni PHP sono state aggiornate con successo.

💡 Le modifiche sono immediate. Nessun riavvio necessario.


🔧 Metodo 2 : MultiPHP INI Editor (Modalità Editor)

La modalità editor consente di aggiungere direttive personalizzate non disponibili in modalità base.

Passo 1 : Passare in modalità Editor

  1. In MultiPHP INI Editor, clicca sulla scheda Modalità Editor (Editor Mode)
  2. Seleziona la posizione (dominio o directory personale)

Passo 2 : Aggiungere direttive

Un'area di testo mostra il contenuto attuale del file php.ini. Puoi aggiungere righe :

; === CONFIGURAZIONE PERSONALIZZATA ===

; Memoria e limiti
memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 256M

; Tempo di esecuzione
max_execution_time = 600
max_input_time = 600

; Variabili di input
max_input_vars = 5000

; Gestione degli errori (produzione)
display_errors = Off
log_errors = On
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

; Sessioni
session.gc_maxlifetime = 1440

; Fuso orario
date.timezone = Europe/Rome

Passo 3 : Salvare

  1. Clicca su Salva (Save)
  2. Controlla che le modifiche siano applicate (vedi sezione Verifica)

📝 Metodo 3 : File .htaccess

Se MultiPHP INI Editor non è disponibile, puoi modificare le impostazioni tramite .htaccess.

Aggiungere le direttive

Apri il file .htaccess nella radice del tuo sito e aggiungi :

# === CONFIGURAZIONE PHP ===

# Memoria
php_value memory_limit 256M

# Upload
php_value upload_max_filesize 64M
php_value post_max_size 128M

# Tempo di esecuzione
php_value max_execution_time 300
php_value max_input_time 300

# Variabili
php_value max_input_vars 3000

# Errori (produzione)
php_flag display_errors Off
php_flag log_errors On

⚠️ Importante : Questo metodo funziona solo con il gestore Apache (mod_php o suPHP). Non funziona con PHP-FPM o CGI.


📄 Metodo 4 : File php.ini personalizzato

Puoi creare un file php.ini nella cartella del tuo sito.

Creare il file

  1. Attraverso il Gestore file cPanel, vai in public_html
  2. Crea un nuovo file chiamato php.ini
  3. Aggiungi il contenuto :
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000

💡 Su alcuni server, il file deve chiamarsi .user.ini invece di php.ini.


📄 Metodo 5 : File .user.ini (PHP-FPM)

Per i server che utilizzano PHP-FPM, crea un file .user.ini :

Creare il file

  1. In public_html, crea .user.ini
  2. Aggiungi :
memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000

⚠️ Le modifiche tramite .user.ini possono richiedere 5 minuti per applicarsi (cache PHP-FPM).


✅ Verificare le Modifiche

Metodo 1 : Via WordPress

  1. Vai su Strumenti → Salute del sito → Informazioni
  2. Espandi la sezione Server
  3. Controlla i valori :
    • Limite di memoria PHP
    • Dimensione massima degli upload
    • Tempo massimo di esecuzione
    • Variabili di input max

Metodo 2 : Via phpinfo()

  1. Crea un file info.php in public_html :
<?php
phpinfo();
?>
  1. Accedi a https://tuo-sito.com/info.php
  2. Cerca le impostazioni modificate (Ctrl+F)
  3. Elimina il file dopo la verifica (sicurezza)

Metodo 3 : Via WordPress (Media)

  1. Vai su Media → Aggiungi
  2. La dimensione massima di upload è visualizzata :
Dimensione massima di upload : 64 MB

🎯 Configurazioni Consigliate per Tipo di Sito

Sito vetrina / Blog semplice

memory_limit = 128M
upload_max_filesize = 32M
post_max_size = 64M
max_execution_time = 120
max_input_time = 120
max_input_vars = 1000

WordPress standard

memory_limit = 256M
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000

WordPress + Costruttore di pagine (Elementor, Divi, WPBakery)

memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 256M
max_execution_time = 600
max_input_time = 600
max_input_vars = 10000

WooCommerce / E-commerce

memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 256M
max_execution_time = 600
max_input_time = 600
max_input_vars = 5000

PrestaShop

memory_limit = 512M
upload_max_filesize = 64M
post_max_size = 128M
max_execution_time = 600
max_input_time = 600
max_input_vars = 20000

Applicazione PHP personalizzata / API

memory_limit = 256M
upload_max_filesize = 128M
post_max_size = 256M
max_execution_time = 300
max_input_time = 300
max_input_vars = 3000
allow_url_fopen = On

🔧 Risoluzione dei Problemi

Le modifiche non si applicano

❌ Causa possibile ✅ Soluzione
Cache PHP attiva Attendere 5 minuti o svuotare la cache
Posizione errata selezionata Controlla di aver selezionato il dominio corretto
File .htaccess prioritario Rimuovi le direttive PHP dal .htaccess
Handler PHP incompatibile Usa MultiPHP INI Editor invece di .htaccess
Limite server Contatta l'hosting (alcuni valori sono limitati)

Errore 500 dopo modifica

  1. Via FTP/Gestore file :
    • Rinomina .htaccess in .htaccess.bak
    • Oppure rimuovi le righe php_value aggiunte
  2. Via MultiPHP INI Editor :
    • Torna ai valori di default
    • Modifica una direttiva alla volta per identificare il problema

"php_value not allowed here"

Questo errore significa che il tuo server utilizza PHP-FPM o CGI :

.htaccess: php_value not allowed here

Soluzione : Usa MultiPHP INI Editor o crea un file .user.ini.


La dimensione di upload WordPress non cambia

Controlla questi elementi in ordine :

  1. upload_max_filesize è stato modificato correttamente
  2. post_max_sizeupload_max_filesize
  3. memory_limitpost_max_size
  4. ✅ Nessun plugin WordPress limita l'upload
  5. ✅ Il tema non definisce un limite

Ordine di priorità dei file :

1. php.ini server (priorità più alta)
2. MultiPHP INI Editor
3. .user.ini o php.ini locale
4. .htaccess
5. wp-config.php (WordPress)
6. functions.php (tema)

max_input_vars ignorato

Alcuni provider di hosting pongono un limite a questo valore. Soluzioni :

  1. Contattare il supporto per aumentare il limite
  2. Passare a un'offerta superiore
  3. Ottimizzare i menu di WordPress (meno elementi)

📋 Elenco Completo delle Direttive PHP Utili

Memoria e risorse

Direttiva Descrizione Esempio
memory_limit Memoria max per script 256M
max_execution_time Tempo max di esecuzione 300
max_input_time Tempo max lettura dati 300
max_input_vars Numero max di variabili 3000
max_input_nesting_level Profondità max array 64

Caricamento di file

Direttiva Descrizione Esempio
upload_max_filesize Dimensione max file 64M
post_max_size Dimensione max dati POST 128M
max_file_uploads Numero max file simultanei 20
file_uploads Consentire caricamenti On

Gestione degli errori

Direttiva Descrizione Esempio
display_errors Mostrare errori Off
log_errors Registrare gli errori On
error_reporting Livello di errori E_ALL & ~E_NOTICE
error_log File di log /home/user/logs/error.log

Sessioni

Direttiva Descrizione Esempio
session.gc_maxlifetime Durata vita sessione (sec) 1440
session.cookie_lifetime Durata cookie sessione 0
session.save_path Percorso archiviazione sessioni /tmp

Sicurezza

Direttiva Descrizione Esempio
allow_url_fopen Aprire URL come file On
allow_url_include Includere file remoti Off
expose_php Rivelare versione PHP Off
disable_functions Funzioni disabilitate exec,shell_exec

Varie

Direttiva Descrizione Esempio
date.timezone Fuso orario Europe/Paris
default_charset Codifica predefinita UTF-8
short_open_tag Tag brevi <? Off
output_buffering Buffer di output 4096

📝 Riepilogo

MODIFICARE I PARAMETRI PHP :

METODO 1 - MultiPHP INI Editor (Consigliato) :
1. cPanel → Software → MultiPHP INI Editor
2. Selezionare il dominio
3. Modificare i valori
4. Cliccare su Applica

METODO 2 - Modalità Editor :
1. Scheda "Modalità Editor"
2. Aggiungere le direttive manualmente
3. Cliccare su Salva

METODO 3 - .htaccess (solo Apache) :
php_value memory_limit 256M
php_value upload_max_filesize 64M

METODO 4 - .user.ini (PHP-FPM) :
memory_limit = 256M
upload_max_filesize = 64M

VALORI CONSIGLIATI WORDPRESS :
├── memory_limit = 256M
├── upload_max_filesize = 64M
├── post_max_size = 128M
├── max_execution_time = 300
├── max_input_time = 300
└── max_input_vars = 3000

REGOLA IMPORTANTE :
memory_limit ≥ post_max_size ≥ upload_max_filesize

VERIFICA :
├── WordPress : Strumenti → Salute del sito → Informazioni → Server
├── phpinfo() : Creare info.php con <?php phpinfo(); ?>
└── Media : Controllare la dimensione max di upload