„Laravel Sail“, „Laravel“, naudojant „Docker“, kūrimo aplinka, labai priklauso nuo aplinkos kintamųjų, pirmiausia apibrėžtų „.env“ faile projekto šaknyje. Šie aplinkos kintamieji sukonfigūruoja programą ir jos paslaugas, įgalindami sklandų konteinerių organizavimą ir nustatymų, tinkamų vietos plėtrai, derinimą.
Įprasti aplinkos kintamieji, naudojami „Laravel“ burėje, gali būti sugrupuoti pagal jų tikslą: programos konfigūracija, duomenų bazės konfigūracija, paslaugų prievadai ir įrišimai, konteinerių vartotojo nustatymai ir specifiniai burės pritaikymai.
programos konfigūracijos kintamieji
- „App_name“: Apibrėžkite „Laravel“ programos pavadinimą.
- „App_env“: nustato aplinkos tipą, paprastai „vietinį“ buriai.
- „App_Key“: bazinis64 koduoto šifravimo raktas, kurį „Laravel“ naudoja šifravimui ir sesijos saugumui.
- „App_debug“: loginė vėliava, leidžianti įgalinti išsamius klaidų pranešimus ir derinimo funkcijas („True“ arba „False“).
- „App_url“: URL, kur programa prieinama vietoje, dažnai nustatoma kaip „http: // localhost“.
Duomenų bazės ryšio kintamieji
Norėdami organizuoti duomenų bazės konteinerį („MySQL“ paslaugą), „BIR“ naudoja kintamuosius, apibrėžiančius ryšį su „MySQL“ duomenų bazės konteineriu:
- „db_connection“: nurodo duomenų bazės tvarkyklę, paprastai „mysql“.
- `db_host`: duomenų bazės serverio pagrindinio kompiuterio vardas, paprastai„ MySQL “konteinerio pavadinimas, pavyzdžiui,„ MySQL “.
- „DB_PORT“: Numatytasis „MySQL Connectivity“ prievadas, paprastai `3306“.
- „DB_DATABASE“: Duomenų bazės pavadinimas, naudojamas konteinerio viduje.
- „db_username“: vartotojo vardas, norint pasiekti duomenų bazę.
- `db_password`: slaptažodis duomenų bazės vartotojui.
REDIS konfigūracija
Burė pasirinktinai palaiko talpyklos ar sesijos tvarkymo „Redis“. Šie kintamieji sukonfigūruoja „Redis“ ryšį:
- „Redis_Host“: „Redis Server“ pagrindinio kompiuterio vardas, dažnai „Redis“ atitikti „Redis“ konteinerį.
- „Redis_Password“: slaptažodis, skirtas redis, jei tokių yra.
- „Redis_port“: Port Redis klausosi, dažnai `6379“.
paslaugų prievado persiuntimo kintamieji
Siekiant išvengti konfliktų su paslaugomis, jau veikiančiomis bendruose pagrindiniuose kompiuteriuose, „Sail“ leidžia pritaikyti persiųstus prievadus savo paslaugoms:
- „Forward_db_port“: Vietinis mašinų prievadas, persiųstas į „MySQL“ standartinį 3306 prievadą konteineryje (pvz., Galite nustatyti, jei užimtas 3306 prievadas).
- „Forward_redis_port“: Vietinis prievadas, perduotas Redis numatytuoju prievadu 6379.
- „Forward_mailhog_port`: Vietinis prievadas, perduotas į„ MailHog “paslaugų prievadą, paprastai naudojamą el. Pašto testavimui.
- Kiti „Forward_*“ kintamieji egzistuoja tokioms paslaugoms kaip „PhpmyAdmin“ ar kitos burės paslaugos, jei sukonfigūruotos.
konteinerių vartotojo ir leidimų kintamieji
BIR veikia konteineriai, naudodama vartotoją, kuris atitinka vietinį šeimininko vartotoją, kad įsitikintų, jog failų leidimai išlieka pastovūs tarp pagrindinio kompiuterio ir konteinerio. Šie kintamieji kontroliuoja vartotojo ID:
- „Wwwuser“: nustato vartotojo ID viduje konteinerio viduje, kuris atitinka pagrindinio kompiuterio kompiuterio vartotojo ID, užtikrindamas failų leidimų atitikimą.
- „WWWGROUP“: nustato grupės ID viduje konteinerio viduje, kad jis atitiktų pagrindinį kompiuterį.
burės pritaikymo kintamieji
- „App_service“: leidžia pakeisti pirminio „Laravel“ programos tarnybos konteinerio pavadinimą „Docker-Compose.yml“ viduje. Tai gali būti naudinga pažangioms konfigūracijoms.
- „Sail_files“: leidžia nurodyti papildomus „Docker“ kompozicijų nepaisymo failus, kurie bus įkelti kartu su standartiniais burės failais. Tai skirta burės aplinkai pritaikyti ar išplėsti.
- „Supervisor_php_command`: naudojamas pritaikyti PHP paleidimo komandą pagrindiniame„ Laravel “burės konteineryje, naudingas integruojant tokius įrankius kaip„ Laravel Octane “.
- „Supervisor_php_user“: nustato vartotoją, kuris naudoja PHP prižiūrėtojo procese konteinerio viduje.
pašto paslaugų kintamieji
„Laravel Sail“ yra su „Mailhog“ konteineriu, skirtu užfiksuoti el. Laiškus, atsiųstus vystymosi metu. Šie kintamieji sukonfigūruoja pašto parametrus:
- „Mail_mailer“: nustatykite į „SMTP“ ar kitą „Mailer“ tvarkyklę.
- „Mail_Host“: pašto serverio pagrindinio kompiuterio vardas, paprastai „mailhog“.
- „Mail_port“: SMTP prievadas, paprastai „Mailhog“.
- „Mail_Username“ ir „Mail_Password“: jei reikia, kredencialai (paprastai paliekami tuščia).
eilės ir talpyklos tvarkyklės
BAIL numatytasis `.Env` Gali nustatyti:
- „queue_connection“: Apibrėžia eilės tvarkyklę, tokią kaip „Sync“, „Duomenų bazė“ arba „Redis“.
- „Cache_driver“: nustato talpyklos tvarkyklę, dažnai „failą“ arba „redis“.
Kiti aptarnavimo aplinkos kintamieji
- „XDEBUG_CONFIG“: automatiškai sukonfigūruota „Sail“, skirta derinti naudojant „Xdebug“, dažnai nustatant „client_host = host.docker.internal“ „Mac“ ir „Windows“.
- „PUID“ ir „PGID“: retkarčiais matomas pasirinktinėse burės konfigūracijose, kad būtų aiškiai nustatytas vartotojo ir grupės ID, skirtas suderinti vartotojo vykdymą.
Aplinkos kintamo vaidmens buriuose santrauka
Šie aplinkos kintamieji, dažniausiai apibrėžti „.env“ faile, tarnauja:
- Konfigūruokite „Laravel“ programos pagrindus (pavadinimas, aplinka, derinimo režimas, URL).
- Prijunkite „Laravel“ programos konteinerį prie jo duomenų bazės ir talpyklos paslaugų „Docker“ viduje.
- Žemėlapių prievadai nuo konteinerio iki pagrindinio kompiuterio, vengiant vietinių uostų konfliktų.
- Užtikrinkite tinkamus vartotojo ir grupės leidimus tarp pagrindinio ir konteinerių sistemų.
- Tinkinkite „Laravel“ burių aplinkos konteinerius ir procesus, kad būtų galima naudoti pažangų naudojimą.
„.Env` failų aplinkos kintamieji tiesiogiai kontroliuoja konteinerių, apibrėžtų„ Docker-compose.yml “, elgseną ir bet kokius išplėstinius komponavimo failus, nurodytus„ Sail_files “. Šių kintamųjų reguliavimas ir iš naujo paleidžiant burę (naudojant tokias komandas kaip „./vendor/bin/sail Down“ ir „./venendor/bin/sail up -d“) taiko konfigūracijos pakeitimus.
Ši sąranka leidžia „Laravel“ buriui suteikti izoliuotą, tačiau konfigūruojamą vietinę plėtros aplinką, naudojant „Docker“, atspindinti gamybos elgseną visur, kur praktiška, išlaikant kūrėjų patogumą ir lankstumą.