Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Quali sono le variabili di ambiente comune utilizzate nella vela di Laravel


Quali sono le variabili di ambiente comune utilizzate nella vela di Laravel


Laravel Sail, un ambiente di sviluppo per Laravel che utilizza Docker, si basa fortemente sulle variabili di ambiente definite principalmente nel file `.env` alla radice del progetto. Queste variabili di ambiente configurano l'applicazione e i suoi servizi, consentendo un'orchestrazione senza interruzioni di contenitori e la messa a punto delle impostazioni adatte allo sviluppo locale.

Le variabili di ambiente comuni utilizzate in Laravel Sail possono essere raggruppate in base al loro scopo: configurazione dell'applicazione, configurazione del database, porte di servizio e assistenti, impostazioni dell'utente del contenitore e personalizzazioni specifiche per la vela.

Variabili di configurazione dell'applicazione ###

- `app_name`: definisce il nome dell'applicazione Laravel.
- `app_env`: imposta il tipo di ambiente, comunemente` locale` per la vela.
- `app_key`: un tasto di crittografia codificato Base64 utilizzato da Laravel per la crittografia e la sicurezza della sessione.
- `app_debug`: una bandiera booleana per abilitare messaggi di errore dettagliati e funzionalità di debug (` true` o `false`).
- `app_url`: l'URL in cui l'applicazione è accessibile a livello locale, spesso impostato su` http: // localhost`.

Variabili di connessione del database ###

Per orchestrare il contenitore del database (servizio Mysql`), Sail utilizza variabili che definiscono la connessione al contenitore del database MySQL:

- `db_connection`: indica il driver del database, in genere` mysql`.
- `db_host`: nome host per il server di database, di solito il nome del contenitore MySQL, come` Mysql`.
- `db_port`: porta predefinita per la connettività mysql, di solito` 3306`.
- `db_database`: il nome del database utilizzato all'interno del contenitore.
- `db_username`: nome utente per accedere al database.
- `db_password`: password per l'utente del database.

Configurazione

Redis

La navigazione è facoltativamente Redis per la memorizzazione nella cache o la gestione delle sessioni. Queste variabili configurano la connettività Redis:

- `Redis_host`: nome host per il server Redis, spesso` Redis` per abbinare il contenitore Redis.
- `Redis_Password`: Password per Redis, se presente.
- `Redis_port`: Port Redis ascolta, spesso` 6379`.

Variabili di inoltro della porta di servizio

Per evitare conflitti con servizi già in esecuzione su porte comuni sul sistema host, Sail consente la personalizzazione delle porte inoltrate per i suoi servizi:

- `Forward_db_port`: porta della macchina locale inoltrata alla porta standard di MySQL 3306 nel contenitore (ad esempio, è possibile impostarlo se la porta 3306 è occupata).
- `Forward_redis_port`: porta locale inoltrata alla porta predefinita di Redis 6379.
- `Forward_Mailhog_port`: porta locale inoltrata alla porta di servizio MailHog, in genere utilizzata per i test e -mail.
- Altre variabili `Forward_*` esistono per servizi come PhpMyAdmin o altri servizi a vela se configurati.

Variabili utente e autorizzazioni container

Sail esegue contenitori utilizzando un utente che corrisponde all'utente host locale per garantire che le autorizzazioni di file rimangano coerenti tra l'host e il contenitore. Queste variabili controllano gli ID utente:

- `wwwuser`: imposta l'ID utente all'interno del contenitore che corrisponde all'ID utente della macchina host, garantendo che le autorizzazioni dei file corrispondano.
- `wwwgroup`: imposta l'ID del gruppo all'interno del contenitore in modo che corrisponda all'host.

variabili di personalizzazione a vela

- `app_service`: consente di modificare il nome del contenitore del servizio di applicazione di Laravel primario all'interno di` Docker-compose.yml`. Questo può essere utile per configurazioni avanzate.
- `Sail_Files`: consente di specificare ulteriori file di sovraccarico Docker Componie da caricare insieme ai file di vela standard. Questo è per personalizzare o estendere l'ambiente a vela.
- `Supervisor_Php_Command`: usato per personalizzare il comando di avvio PHP all'interno del contenitore principale di Laravel Sail, utile quando si integrano strumenti come Laravel Octane.
- `Supervisor_Php_User`: imposta l'utente che esegue PHP nel processo del supervisore all'interno del contenitore.

Variabili di servizio

Mail

Laravel Sail viene fornito con un container di Mailhog per l'acquisizione di e -mail inviate durante lo sviluppo. Queste variabili configurano le impostazioni della posta:

- `Mail_mailer`: Imposta su` Smtp` o un altro driver Mailer.
- `Mail_host`: nome host per il server di posta, di solito` Mailhog`.
- `Mail_port`: porta per SMTP, comunemente` 1025` per MailHog.
- `Mail_username` e` mail_password`: credenziali se necessario (comunemente lasciati vuoti nello sviluppo).

driver coda e cache

L'impostazione predefinita di Sail `.env` può impostare questi:

- `queue_connection`: definisce il driver di coda, come` sync`, `database` o` redis`.
- `cache_driver`: determina il driver della cache, spesso` file` o `redis`.

altre variabili di ambiente di servizio

- `XDEBUG_CONFIG`: configurato automaticamente per navigare per il debug con XDEBUG, impostando spesso` client_host = host.docker.internal` per Mac e Windows.
- `puid` e` pgid`: occasionalmente visualizzati nelle configurazioni a vela personalizzate per impostare esplicitamente ID utente e di gruppo per la corrispondenza dell'utente.

Riepilogo dei ruoli variabili di ambiente nella vela

Queste variabili di ambiente, per lo più definite nel file `.env`, servono a:

- Configurare le basi dell'applicazione Laravel (nome, ambiente, modalità di debug, URL).
- Collegare il contenitore dell'applicazione Laravel al suo database e ai servizi di cache all'interno di Docker.
- Mappare le porte dal contenitore alla macchina host, evitando conflitti di porte locali.
- Garantire le autorizzazioni adeguate e di gruppo tra sistemi host e contenitori.
- Personalizza i contenitori e i processi dell'ambiente a vela Laravel per un utilizzo avanzato.

Le variabili di ambiente di file `.env` controllano direttamente il comportamento dei contenitori definiti in` docker- compose.yml` di Sail e eventuali file di compose estesi indicati da `sail_files`. La regolazione di queste variabili e il riavvio della vela (usando comandi come `./vendor/bin/sail down` e` ./vendor/bin/sail up-d`) applica le modifiche alla configurazione.

Questa configurazione consente a Laravel Sail di fornire un ambiente di sviluppo locale isolato, ma configurabile, utilizzando Docker, rispecchiando il comportamento di produzione ovunque pratico mantenendo la comodità e la flessibilità degli sviluppatori.