Implementazione
Aggiungi il seguente codice al tuo bootstrap/app.php
file, prima dell'istruzione return:
$envFile = '.env'; se (isset($_SERVER['HTTP_HOST']) && str_contains($_SERVER['HTTP_HOST'], 'alternativehost.test')) { $envFile = '.env.althost'; }
Vuoi farlo funzionare anche con php artisan nelle directory con collegamento simbolico?
se (isset($_SERVER['PWD']) && str_contains($_SERVER['PWD'], '/alternativehost')) { $envFile = '.env.althost'; }
Questo è probabilmente pericoloso. Controlla le avvertenze qui sotto.
Come funziona
Il codice verifica due condizioni:
- Innanzitutto, controlla se l'host HTTP contiene il dominio specificato (approccio più sicuro)
- In secondo luogo, controlla il percorso della directory di lavoro (approccio più rischioso, ma utile per le operazioni CLI)
⚠️ Note importanti
- La seconda condizione utilizzando
Disabilità da lavoro
è più rischioso perché si basa sulla struttura delle directory e potrebbe richiedere misure di sicurezza aggiuntive - Assicurati sempre che i tuoi file .env alternativi siano inclusi nel tuo
.gitignorare
- Ricordarsi di cancellare la cache di configurazione dopo aver apportato modifiche:
php artisan config:clear
Buone pratiche
- Mantieni al sicuro i tuoi file .env e non sottoporli mai al controllo di versione
- Utilizza nomi descrittivi per i tuoi file .env alternativi
- Documenta le differenze ambientali per il tuo team
- Quando possibile, prendi in considerazione l'utilizzo del rilevamento dell'ambiente integrato di Laravel