Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Aké sú spoločné premenné prostredia používané v Laravel Sail


Aké sú spoločné premenné prostredia používané v Laravel Sail


Laravel Sail, vývojové prostredie pre Laravel, ktorý využíva Docker, sa vo veľkej miere spolieha na premenné prostredia definované predovšetkým v súbore `.env` v koreni projektu. Tieto premenné prostredia konfigurujú aplikáciu a jej služby, čo umožňuje plynulú orchestráciu kontajnerov a ladenie nastavení vhodných pre miestny vývoj.

Spoločné premenné prostredia používané v Laravel Sail je možné zoskupovať podľa ich účelu: konfigurácia aplikácie, konfigurácia databázy, servisné porty a väzby, nastavenia používateľov kontajnerov a prispôsobenia špecifické pre plachetnicu.

Premenné konfigurácie aplikácie

- `App_name`: Definuje názov aplikácie Laravel.
- `App_env`: Nastavuje typ prostredia, bežne„ miestny “pre Sail.
- `App_Key`: Šifrovací kľúč kódovaný základňou 64, ktorý používa Laravel na šifrovanie a zabezpečenie relácie.
- `APP_DEBUG`: Boolean príznak, ktorý povolíte podrobné chybové správy a ladiace funkcie (` true` alebo `false`).
- `app_url`: URL, kde je aplikácia prístupná lokálne, často nastavená na` http: // localhost`.

Premenné pripojenia databázy

Ak chcete organizovať kontajner databázy (`MySQL` Service), SAIL používa premenné, ktoré definujú pripojenie k kontajneru databázy MySQL:

- `db_connection`: označuje ovládač databázy, zvyčajne` mysql`.
- `db_host`: Hostiteľ pre databázový server, zvyčajne názov kontajnera MySQL, napríklad` mysql`.
- `db_port`: Predvolený port pre pripojenie MySQL, zvyčajne` 3306`.
- `db_database`: Názov databázy, ktorá sa používa vo vnútri kontajnera.
- `db_username`: Užívateľské meno na prístup k databáze.
- `db_password`: heslo pre používateľa databázy.

Redis Configuration

Plavba voliteľne podporuje Redis na ukladanie do vyrovnávacej pamäte alebo manipuláciu s reláciou. Tieto premenné nakonfigurujú pripojenie Redis:

- `redis_host`: Hostiteľ pre server Redis, často„ redis`, aby zodpovedal kontajnera Redis.
- `redis_password`: heslo pre redis, ak existuje.
- `redis_port`: port redis počúva, často` 6379`.

Premenné preposielania servisného portu

Aby sa predišlo konfliktom so službami, ktoré už prevádzkujú na kmeňových prístavoch v hostiteľskom systéme, Sail umožňuje prispôsobenie presmerovaných portov pre svoje služby:

- `Forward_db_port`: Port lokálneho počítača preposlaný na štandardný port MySQL 3306 v kontajneri (napr. Môžete ho nastaviť, ak je obsadený port 3306).
- `Forward_redis_port`: Lokálny port presmerovaný na predvolený port Redis 6379.
- `Forward_mailhog_port`: Lokálny port prenosom na servisný port MailHog, ktorý sa zvyčajne používa na e -mailové testovanie.
- V prípade nakonfigurovaných existujú pre služby, ako je PhpMyadmin alebo iné služby plachty, existujú ďalšie premenné `Forward_*`.

Premenné používateľa kontajnera a povolenia

Sail spúšťa kontajnery pomocou používateľa, ktorý sa zhoduje s miestnym hostiteľským užívateľom, aby sa zabezpečilo, že povolenia súborov zostávajú konzistentné medzi hostiteľom a kontajnerom. Tieto premenné riadia ID používateľa:

- `WWWUSER`: Nastavuje ID používateľa do kontajnera, ktorý zodpovedá ID používateľa hostiteľa, čím sa zabezpečí zhodné povolenia súborov.
- `wwwgroup`: Nastavuje ID skupiny do kontajnera tak, aby zodpovedal hostiteľovi.

Premenné prispôsobenia plachty

- `App_Service`: Umožňuje zmenu názvu primárneho kontajnerového kontajnera Laravel vo vnútri` Docker-Compose.yml`. To môže byť užitočné pre pokročilé konfigurácie.
- `Sail_Files`: Umožňuje určiť ďalšie súbory zloženia Docker, ktoré sa majú načítať popri štandardných súboroch plachty. Je to na prispôsobenie alebo rozšírenie prostredia plachty.
- `Supervisor_php_command`: Používa sa na prispôsobenie príkazu na spustenie PHP vo vnútri hlavného kontajnera Laravel Sail, ktorý je užitočný pri integrácii nástrojov ako Laravel Octane.
- `Supervisor_php_user`: Nastavuje používateľa, ktorý spustí PHP v procese supervízora vo vnútri kontajnera.

Mail Service Premenné

Laravel Sail sa dodáva s kontajnerom MailHog na zachytenie e -mailov odoslaných počas vývoja. Tieto premenné nakonfigurujú nastavenia pošty:

- `Mail_mailer`: nastavený na` SMTP` alebo iným ovládačom Mailer.
- `Mail_host`: Hostiteľ pre poštový server, zvyčajne` MailHog`.
- `Mail_port`: Port pre SMTP, bežne` 1025` pre MailHog.
- `Mail_username` a` Mail_password`: V prípade potreby poverenia (vo vývoji sa bežne ponechajú prázdne).

Front and Cache Ovládače

Predvolená hodnota `.env` ich môže nastaviť:

- `queue_connection`: Definuje ovládač frontu, napríklad` Sync`, `Database` alebo` redis`.
- `cache_driver`: určuje ovládač vyrovnávacej pamäte, často` file` alebo `redis`.

Ostatné premenné prostredia prostredia

- `XDEBUG_CONFIG`: Konfigurované automaticky pomocou Sail na ladenie s XDEBUG, často nastavenie` client_host = host.docker.internal` pre Mac a Windows.
- `PUID` a` PGID`: Príležitostne viditeľné v konfiguráciách SAIL, aby ste explicitne nastavili ID používateľa a ID skupiny pre porovnávanie používateľa-permisie.

Zhrnutie variabilných úloh prostredia v plachte

Tieto premenné prostredia, väčšinou definované v súbore „.env`, slúžia na:

- Nakonfigurujte základy aplikácie Laravel (názov, prostredie, režim ladenia, URL).
- Pripojte kontajner Application Laravel k svojej databáze a službách vyrovnávacej pamäte vo vnútri Docker.
- Mapujte porty z kontajnera do hostiteľského počítača a vyhýbajú sa konfliktom miestnych portov.
- Zaistite správne povolenia používateľov a skupín medzi systémami hostiteľa a kontajnerov.
- Prispôsobte kontajnery a procesy Laravel Sail Environment Containers a procesy pre pokročilé použitie.

Premenné prostredia `.env` súborového prostredia priamo riadia správanie kontajnerov definovaných v aplikácii Sail's Docker-Compos.yml` a akékoľvek rozšírené súbory zložené„ Sail_Files`. Upravenie týchto premenných a reštartovanie plachty (pomocou príkazov ako `./vendor/bin/sail down` a` ./vendor/bin/sail up -d`) sa uplatňuje zmeny konfigurácie.

Toto nastavenie umožňuje spoločnosti Laravel Sail poskytovať izolované, ale konfigurovateľné miestne vývojové prostredie pomocou Docker, odrážanie výrobného správania všade, kde sa praktické pri zachovaní pohodlia a flexibility vývojárov.