Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Care sunt variabilele comune de mediu utilizate în Laravel Sail


Care sunt variabilele comune de mediu utilizate în Laravel Sail


Laravel Sail, un mediu de dezvoltare pentru Laravel care folosește Docker, se bazează foarte mult pe variabilele de mediu definite în principal în fișierul `.Env` la rădăcina proiectului. Aceste variabile de mediu configurează aplicația și serviciile sale, permițând orchestrarea perfectă a containerelor și reglarea setărilor adecvate pentru dezvoltarea locală.

Variabilele comune de mediu utilizate în Sail Laravel pot fi grupate în funcție de scopul lor: configurația aplicației, configurația bazei de date, porturile de service și legăturile, setările utilizatorului containerului și personalizările specifice velei.

Variabile de configurare a aplicației

- `App_name`: Definește numele aplicației Laravel.
- `app_env`: stabilește tipul de mediu, în mod obișnuit` local` pentru Sail.
- `app_key`: o cheie de criptare codată de bază 64 utilizată de Laravel pentru criptare și securitate sesiunii.
- `app_debug`: un steag boolean pentru a activa mesaje de eroare detaliate și caracteristici de depanare (` true` sau `false`).
- `app_url`: URL -ul în care aplicația este accesibilă local, adesea setată pe` http: // localhost`.

Variabile de conectare la baza de date

Pentru a orchestra containerul bazei de date (serviciul MySQL`), SAIL folosește variabile care definesc conexiunea la containerul bazei de date MySQL:

- `db_connection`: indică driverul bazei de date, de obicei` mysql`.
- `db_host`: HostName pentru serverul de baze de date, de obicei numele containerului MySQL, cum ar fi` mysql`.
- `db_port`: port implicit pentru conectivitatea MySQL, de obicei` 3306`.
- `db_database`: numele bazei de date utilizate în interiorul containerului.
- `db_username`: Nume utilizator pentru a accesa baza de date.
- `DB_PASSWORD`: Parolă pentru utilizatorul bazei de date.

Configurare Redis

Opțional, Sail îl susține pe Redis pentru cache sau manipularea sesiunilor. Aceste variabile configurează conectivitatea Redis:

- `Redis_HOST`: Nume de gazdă pentru serverul Redis, adesea` Redis` pentru a se potrivi cu containerul Redis.
- `Redis_password`: Parolă pentru Redis, dacă există.
- `Redis_port`: Port Redis ascultă, adesea` 6379`.

Variabile de redirecționare a portului de serviciu

Pentru a evita conflictele cu serviciile care rulează deja pe porturile comune din sistemul gazdă, Sail permite personalizarea porturilor transmise pentru serviciile sale:

- `Forward_DB_PORT`: Portul de mașini local redirecționat către portul standard 3306 al MySQL din container (de exemplu, puteți seta acest lucru dacă portul 3306 este ocupat).
- `forward_redis_port`: port local redirecționat către portul implicit Redis 6379.
- `Forward_mailhog_port`: port local redirecționat către portul de servicii Mailhog, utilizat de obicei pentru testarea prin e -mail.
- Alte `Forward_*` variabile există pentru servicii precum phpmyadmin sau alte servicii de pânză, dacă sunt configurate.

Variabile de utilizator de containere și de permisiuni

Sail rulează containere folosind un utilizator care se potrivește cu utilizatorul gazdă locală pentru a se asigura că permisiunile de fișier rămân consecvente între gazdă și container. Aceste variabile controlează ID -urile de utilizator:

- `wwwuser`: setează ID -ul de utilizator în containerul care corespunde ID -ului de utilizator al mașinii gazdă, asigurând potrivirea permisiunilor de fișier.
- `wwwgroup`: stabilește ID -ul grupului în interiorul containerului pentru a se potrivi cu gazda.

Variabile de personalizare a velei

- `app_service`: Permite modificarea numelui de containere al serviciului de aplicație Laravel principal în interiorul` docker-compose.yml`. Acest lucru poate fi util pentru configurații avansate.
- `SAIL_FILES`: Vă permite să specificați fișierele suplimentare de compunere a compunerii pentru a fi încărcate alături de fișierele SAIL standard. Aceasta este pentru personalizarea sau extinderea mediului de vele.
- `Supervisor_PHP_COMMAND`: Folosit pentru a personaliza comanda de pornire PHP în containerul principal Laravel Sail, utile atunci când integrează instrumente precum Laravel Octane.
- `Supervisor_PHP_USER`: Setează utilizatorul care rulează PHP în procesul de supraveghere din interiorul containerului.

Variabile de servicii prin poștă

Laravel Sail vine cu un container Mailhog pentru captarea e -mailurilor trimise în timpul dezvoltării. Aceste variabile configurează setările prin poștă:

- `Mail_mailer`: Setați la` SMTP` sau un alt driver mailer.
- `Mail_host`: Nume de gazdă pentru serverul de poștă, de obicei` Mailhog`.
- `Mail_port`: Port pentru SMTP, în mod obișnuit` 1025` pentru Mailhog.
- `Mail_username` și` Mail_Password`: Credențe, dacă este nevoie (în mod obișnuit lăsat necompletat în dezvoltare).

Drivere de coadă și cache

Sail implicit `.env` poate seta aceste:

- `queue_connection`: definește driverul de coadă, cum ar fi` sincronizare, `baze de date` sau` redis`.
- `cache_driver`: determină driverul de cache, adesea` fișier` sau `redis`.

Alte variabile de mediu de serviciu

- `xdebug_config`: configurat automat prin navigare pentru depanare cu XDebug, adesea setând` client_host = gazdă.docker.internal` pentru Mac și Windows.
- `PUID` și` PGID`: Ocazional văzuți în configurații personalizate pentru a seta în mod explicit ID-urile utilizatorului și grupului pentru potrivirea permanentului.

Rezumatul rolurilor variabile pentru mediu în Sail

Aceste variabile de mediu, definite în cea mai mare parte în fișierul `.env`, servesc la:

- Configurați elementele de bază ale aplicației Laravel (nume, mediu, modul de depanare, URL).
- Conectați containerul de aplicații Laravel la baza de date și serviciile de cache din Docker.
- Porturi de hartă de la container la mașina gazdă, evitând conflictele portuare locale.
- Asigurați -vă permisiunile corespunzătoare ale utilizatorilor și grupului între sistemele de gazdă și containere.
- Personalizați containerele și procesele de mediu Laravel pentru utilizare avansată.

Variabilele de mediu `.Env` de mediu controlează direct comportamentul containerelor definite în„ docker-compose.yml ”de la Sail și orice fișiere de compune extinse indicate de` SAIL_FILES ”. Reglarea acestor variabile și repornirea Sail (folosind comenzi precum `./vendor/bin/sail down` și` ./vendor/bin/sail up -d`) aplică modificările de configurare.

Această configurație permite Laravel Sail să ofere un mediu de dezvoltare local izolat, dar configurabil, folosind Docker, oglindind comportamentul de producție, oriunde este practic, menținând în același timp comoditatea și flexibilitatea dezvoltatorului.