Articolo tradotto a macchina

Questo testo è una traduzione automatica. È prevista una versione riveduta.

Per contratti Hosting acquistati prima del 17/09/2025 e Performance Hosting

Desideri applicare le impostaioni di PHP a tutte le sottodirectory senza dover copiare manualmente il file php.ini in ogni singola cartella? In questo articolo ti mostreremo un metodo semplice  e veloce che ti permette di risparmiare tempo, controllando tutte le impostazioni da un unico file centrale.

 

Nota bene

Per i contratti di web hosting acquistati a partire dal 18/09/2025, il file php.ini deve trovarsi nella directory /home/www/. Le impostazioni del file php.ini verranno quindi applicate automaticamente a tutte le sottodirectory.

Problema: file php.ini decentralizzati

Se si desidera effettuare impostazioni PHP individuali per il proprio pacchetto di web hosting o server gestito, di solito si utilizza un file php.ini. Per impostazione predefinita, tuttavia, questo file funziona solo nella directory in cui si trova. Se il tuo sito web ha una struttura di cartelle complessa (ad esempio per vari script, plugin o gallerie di immagini), dovresti copiare manualmente il php.ini in tutte le sottocartelle ogni volta che apporti una modifica. Questa operazione non solo richiede molto tempo, ma è anche soggetta a errori.

La soluzione: collegamenti simbolici (symlink)

La soluzione efficiente a questo problema è rappresentata dai collegamenti simbolici (noti anche come symlink). Invece di copiare il file php.ini, si crea un collegamento intelligente in ogni sottodirectory che punta a un singolo file php.ini centrale.

I vantaggi:

  • Amministrazione centralizzata: è sufficiente apportare modifiche a un unico file.
  • Risparmio di tempo: niente più copia manuale per ogni personalizzazione.
  • Coerenza: tutte le sottodirectory hanno la garanzia di utilizzare le stesse impostazioni PHP.

Istruzioni passo-passo

Prerequisiti

  • Accesso SSH: è necessario un accesso SSH attivo al proprio spazio web.
  • Conoscenza di base della riga di comando: è necessario avere familiarità con comandi semplici come cd.
  • Backup: per sicurezza, creare sempre un backup dei dati prima di apportare modifiche importanti.
  • Connettersi al server: Collegarsi al proprio spazio web tramite SSH. Le istruzioni su come stabilire una connessione SSH sono riportate nell'articolo Stabilire una connessione SSH con PuTTY (Windows).
  • Passare alla directory principale: Utilizzate il comando cd(change directory) per spostarvi nella directory principale del vostro sito web, dove si trova o dovrebbe trovarsi il file php.ini centrale.

    cd /path/to/your/website

    Sostituire /percorso/al/vostro/sito web con il percorso effettivo sul vostro server.

  • Creare i collegamenti simbolici: Eseguire ora il seguente comando. Esso cerca tutte le sottodirectory e crea automaticamente un collegamento simbolico a php.ini nella cartella corrente.

    find . -type d -exec ln -s "$PWD/php.ini" "{}/php.ini" \;

A questo punto il gioco è fatto. Le future modifiche alla configurazione di PHP dovranno essere apportate solo al file php.ini originale nella directory principale. Le modifiche avranno immediatamente effetto su tutte le sottodirectory.

Nota

Dopo aver eseguito il comando, probabilmente si riceverà un messaggio del tipo: ln: non è stato possibile creare il collegamento simbolico './php.ini': Il file esiste già

Questo messaggio può essere tranquillamente ignorato. Viene visualizzato perché il comando tenta di creare un collegamento anche nella directory corrente, dove si trova già il file php.ini originale.

Per annullare le modifiche

Se si desidera rimuovere nuovamente i collegamenti simbolici creati, ad esempio per testare diverse configurazioni, è possibile farlo con un unico comando.

Tornate alla vostra cartella principale ed eseguite il seguente comando:

find . -tipo l -nome 'php.ini' -cancella

Questo comando cerca tutti i collegamenti simbolici con il nome php.ini e li elimina in modo sicuro senza toccare il file originale.