Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Katere so skupne spremenljivke okolja, ki se uporabljajo v Laravel Sail


Katere so skupne spremenljivke okolja, ki se uporabljajo v Laravel Sail


Laravel Sail, razvojno okolje za Laravel z uporabo Dockerja, se v veliki meri opira na spremenljivke okolja, opredeljenih predvsem v datoteki `.env` v korenu projekta. Te spremenljivke okolja konfigurirajo aplikacijo in njegove storitve, kar omogoča brezhibno orkestracijo zabojnikov in nastavitev nastavitev, primernih za lokalni razvoj.

Skupne spremenljivke okolja, uporabljene v Laravel Sail, se lahko razvrstijo po njihovem namenu: konfiguracija aplikacije, konfiguracija baze podatkov, servisna vrata in vezi, uporabniške nastavitve vsebnika in prilagoditve, specifične za jadra.

Spremenljivke konfiguracije aplikacije

- `app_name`: Določi ime aplikacije Laravel.
- `app_env`: nastavi vrsto okolja, običajno" lokalno "za jadranje.
- `app_key`: šifrirni ključ, ki ga je Laravel uporabljal za šifriranje in varnost seje.
- `app_debug`: Boolejska zastava, ki omogoča podrobna sporočila o napakah in odpravljanje napak (` true` ali `false`).
- `app_url`: URL, kjer je aplikacija dostopna lokalno, pogosto nastavljena na` http: // localhost`.

Spremenljivke povezave z bazo podatkov

Da bi orkestrirali vsebnik baze podatkov (`MySql` storitev), Sail uporablja spremenljivke, ki definirajo povezavo s vsebnostjo baze podatkov MySQL:

- `db_connection`: označuje gonilnik baze podatkov, običajno` mysql`.
- `db_host`: ime gostitelja za strežnik baz podatkov, običajno ime vsebnika mysql, kot je` mysql`.
- `db_port`: privzeta vrata za povezljivost MySQL, običajno` 3306`.
- `db_database`: ime baze podatkov, ki se uporablja znotraj vsebnika.
- `db_username`: uporabniško ime za dostop do baze podatkov.
- `db_password`: geslo za uporabnika baze podatkov.

Konfiguracija Redis

Jadro neobvezno podpira Redis za predpomnjenje ali ravnanje z sejo. Te spremenljivke konfigurirajo redis povezljivost:

- `redis_host`: ime gostitelja za strežnik Redis, pogosto" redis ", da se ujema z vsebnostjo Redis.
- `redis_password`: geslo za redis, če obstaja.
- `redis_port`: Port Redis posluša, pogosto` 6379`.

Spremenljivke posredovanja servisnih vrat

Da se izognete konfliktom s storitvami, ki že delujejo na skupnih pristaniščih v gostiteljskem sistemu, Sail omogoča prilagajanje posredovanih vrat za svoje storitve:

- `Forward_db_port`: Lokalna vrata, ki so v zabojniku posredovana standardnim pristaniščem MySQL v standardu 3306 (npr. To lahko nastavite, če je vrat 3306 zaseden).
- `FORDERD_REDIS_PORT`: Lokalna vrata, posredovana privzetim vhodom Redis 6379.
- `Forward_mailHog_port`: Lokalna vrata, posredovana servisnim pristaniščem MailHog, ki se običajno uporablja za testiranje e -pošte.
- Ostale spremenljivke `Forward_*` obstajajo za storitve, kot so PhpmyAdmin ali druge storitve jadranja, če so konfigurirane.

Spremenljivke uporabnikov in dovoljenj za vsebnika

Sail poganja vsebnice s pomočjo uporabnika, ki ustreza lokalnemu uporabniku gostitelja, da zagotovi, da dovoljenja za datoteke ostanejo dosledna med gostiteljem in vsebniki. Te spremenljivke nadzirajo uporabniške ID -je:

- `wwwuser`: nastavi ID uporabnika znotraj vsebnika, ki ustreza ID uporabniškega ID -ja gostiteljskega naprave in tako zagotovi, da se datotek ujema.
- `wwwgroup`: nastavi ID skupine znotraj vsebnika, da se ujema z gostiteljem.

Spremenljivke prilagajanja jadra

- `app_service`: omogoča spremembo primarnega imena vsebnika aplikacijske storitve Laravel v notranjosti` docker-compose.yml`. To je lahko koristno za napredne konfiguracije.
- `sail_files`: omogoča, da določite dodatne dockerjeve kompozicijske datoteke, ki jih je treba naložiti skupaj s standardnimi datotek jadranja. To je za prilagajanje ali razširitev jadralnega okolja.
- `Supervisor_PHP_COMMAND`: Uporablja se za prilagajanje ukaza PHP Startup znotraj glavnega posode Laravel Sail, uporabno pri vključevanju orodij, kot je Laravel Octane.
- `Supervisor_php_user`: Nastavi uporabnika, ki v kontejnerju izvaja PHP v procesu nadzornika.

spremenljivke storitvene storitve

Laravel Sail ima vsebnik Mailhog za zajem e -poštnih sporočil, poslanih med razvojem. Te spremenljivke konfigurirajo nastavitve pošte:

- `mail_mailer`: nastavljen na` SMTP` ali drugega voznika pošlje.
- `mail_host`: ime gostitelja za poštni strežnik, običajno` mailhog`.
- `mail_port`: vrata za SMTP, običajno` 1025` za Mailhog.
- `mail_username` in` mail_password`: poverilnice, če je potrebno (običajno ostane prazno v razvoju).

gonilniki čakalnih vrst in predpomnilnika

Sail's Privzeto `.env` jih lahko nastavi:

- `queue_connection`: Določi gonilnik čakalnih vrst, kot so 'sinhronizacija,` baza podatkov` ali `redis`.
- `cache_driver`: Določi gonilnik predpomnilnika, pogosto` datoteko` ali `redis`.

Druge spremenljivke storitvenega okolja

- `xdebug_config`: samodejno konfigurirano z jadranjem za odpravljanje napak z xdebugom, pogosto nastavite` client_host = host.docker.internal` za Mac in Windows.
- `puid` in` pgid`: občasno viden v konfiguracijah jadra po meri, da izrecno nastavite uporabniške in skupine ID-je za ujemanje uporabnikov.

Povzetek o okolju spremenljive vloge v jadri

Te spremenljivke okolja, večinoma opredeljene v datoteki `.env`, služijo:

- Konfigurirajte osnove aplikacije Laravel (ime, okolje, način odpravljanja napak, URL).
- Priključite vsebnik aplikacije Laravel s svojo bazo podatkov in predpomnilniki znotraj Dockerja.
- Zemljevidna vrata od vsebnika do gostiteljskega stroja, pri čemer se izogibajo konfliktom v lokalnih pristaniščih.
- Zagotovite ustrezna dovoljenja uporabnikov in skupin med gostiteljskimi in vsebniki.
- Prilagodite zabojnike in postopke za napredno uporabo Laravel Sail.

Spremenljivke okolja datotek ` Prilagoditev teh spremenljivk in ponovni zagon jadra (z uporabo ukazov, kot sta `./vendor/bin/sail Down` in` ./vendor/bin/sail up-d`) velja konfiguracijske spremembe.

Ta nastavitev omogoča Laravel Sail, da zagotovi izolirano, a konfiguracijsko lokalno razvojno okolje z uporabo Dockerja in zrcali proizvodno vedenje, kjer koli praktično, hkrati pa ohranja udobje in prilagodljivost razvijalcev.