Salta al contenuto

PHP .user.ini non applicato: diagnosi e soluzione

Pubblicato il Aggiornato il

In breve: il problema PHP .user.ini non applicato può dipendere dalla directory sbagliata, da una direttiva non modificabile, da un handler differente o dalla cache di configurazione non ancora scaduta.

Che cosa significa

Il valore scritto in .user.ini non coincide con quello effettivamente utilizzato dalla richiesta web. Prima di modificare altri file bisogna stabilire quale versione PHP, SAPI, directory e configurazione stanno elaborando la pagina interessata.

PHP .user.ini non applicato: livelli della configurazione
Versione PHP, SAPI, document root, direttiva e cache determinano il valore effettivo.

Come funziona .user.ini

PHP elabora i file .user.ini con i SAPI CGI e FastCGI. La ricerca parte dalla directory dello script richiesto e risale fino alla document root. Il nome del file è controllato dalla direttiva user_ini.filename; se questa è vuota, la funzione è disabilitata.

Non tutte le direttive sono ammesse: possono essere cambiate soltanto quelle classificate INI_PERDIR o INI_USER. Inoltre PHP ricontrolla periodicamente il file secondo user_ini.cache_ttl, normalmente 300 secondi.

Diagnosi passo per passo

  1. Crea temporaneamente una pagina protetta che mostri versione PHP, SAPI, user_ini.filename, user_ini.cache_ttl e valore della direttiva interessata.
  2. Verifica la document root e la directory reale dello script che presenta il problema.
  3. Controlla che il file si chiami esattamente .user.ini, sia leggibile e contenga una sintassi come memory_limit = 256M.
  4. Consulta la modalità di modifica della direttiva nel manuale PHP.
  5. Attendi almeno il TTL configurato e ripeti la stessa richiesta web.
  6. Confronta il risultato con MultiPHP INI Editor e con la versione PHP assegnata al dominio.
  7. Rimuovi subito la pagina diagnostica perché può esporre informazioni sull’ambiente.

Esegui una sola variazione alla volta e annota valore iniziale, modifica, percorso e ora della prova. In questo modo puoi distinguere un errore di sintassi da un ritardo dovuto alla cache. Se più domini usano versioni PHP differenti, ripeti la verifica su ciascun dominio senza assumere che condividano pool, file o impostazioni.

PHP .user.ini non applicato: sequenza di diagnosi
Controlla ambiente, percorso, direttiva, cache e valore effettivo usando sempre la stessa richiesta web.

Correzioni in base alla causa

CausaCorrezione
Directory errataSposta .user.ini nella directory realmente elaborata oppure configura il valore dal pannello corretto.
Direttiva non consentitaUsa il livello di configurazione previsto oppure richiedi una modifica amministrativa.
Versione PHP differenteAllinea il dominio alla versione prevista e controlla nuovamente il SAPI.
Cache non scadutaAttendi user_ini.cache_ttl; il riavvio di un pool è un’operazione amministrativa, non il primo tentativo.
Sintassi o unità errataCorreggi nome, valore e unità della direttiva senza inserire sintassi Apache.

Verifica finale

Controlla la direttiva con ini_get() o con una pagina diagnostica temporanea eseguita dallo stesso dominio e percorso. Il valore deve restare corretto dopo una nuova richiesta e non deve produrre errori nei log. Verifica separatamente web, cron e CLI perché possono usare configurazioni diverse.

Errori da evitare

  • Lasciare online una pagina phpinfo() accessibile pubblicamente.
  • Usare php_value in .htaccess senza verificare l’handler: con alcune configurazioni può provocare un errore 500.
  • Aumentare limiti PHP senza misurare memoria, timeout e causa reale.
  • Confrontare PHP CLI con il sito come se utilizzassero necessariamente lo stesso file di configurazione.

Se il problema persiste

Registra dominio, directory dello script, versione PHP, SAPI, direttiva, valore atteso, valore effettivo e ora della prova. Allega soltanto estratti di log pertinenti e rimuovi percorsi, token o credenziali non necessari.

Confronta anche la configurazione caricata indicata da PHP con quella attesa dal pannello. Un file corretto può risultare inefficace quando la richiesta raggiunge un altro pool, un alias di dominio o una document root diversa da quella controllata.

Guide Xlogic correlate

Domande frequenti

Dove deve essere collocato il file .user.ini?

Nella directory interessata dalla configurazione, considerando il percorso dello script e la document root. L’effetto può propagarsi alle sottodirectory secondo il funzionamento del SAPI.

Perché la modifica non appare subito?

PHP può mantenere in cache i file .user.ini per il tempo definito da user_ini.cache_ttl, pari normalmente a 300 secondi se non modificato.

Tutte le direttive PHP possono essere cambiate?

No. Nei file .user.ini sono ammesse soltanto le direttive con modalità INI_PERDIR o INI_USER.

La configurazione vale anche per PHP CLI?

No. I file .user.ini sono elaborati dai SAPI CGI/FastCGI; comandi CLI e cron possono usare un file php.ini e una versione PHP differenti.

Fonti tecniche

PHP .user.ini non applicato: diagnosi e soluzione ultima modifica: 2026-08-02T19:43:18+02:00 da Team tecnico Xlogic

Ti è piaciuto questo Post?