Laravel Sail, kas ir Laravel attīstības vide, izmantojot Docker, lielā mērā balstās uz vides mainīgajiem, kas galvenokārt definēti `.env` failā projekta saknē. Šie vides mainīgie konfigurē lietojumprogrammu un tās pakalpojumus, ļaujot nemanāmi orķestrēt konteinerus un iestatīt iestatījumus, kas piemēroti vietējai attīstībai.
Parastie vides mainīgie, kas izmantoti Laravel Sail, var sagrupēt atbilstoši to mērķim: lietojumprogrammu konfigurācija, datu bāzes konfigurācija, pakalpojumu porti un iesiešana, konteineru lietotāja iestatījumi un burai specifiski pielāgojumi.
lietojumprogrammu konfigurācijas mainīgie lielumi
- `APP_NAME`: definē Laravel lietojumprogrammas nosaukumu.
- `APP_ENV`: Iestata vides veidu, parasti burai.
- `APP_KEY`: base64 kodēta šifrēšanas atslēga, ko Laravel izmanto šifrēšanas un sesijas drošībai.
- `APP_DEBUG`: Būla karogs, lai iespējotu detalizētus kļūdu ziņojumus un atkļūdošanas funkcijas (` patiess` vai `viltus`).
- `APP_URL`: URL, kurā lietojumprogramma ir pieejama lokāli, bieži iestatīta uz` http: // localhost`.
datu bāzes savienojuma mainīgie
Lai orķestrētu datu bāzes konteineru (`MySQL` pakalpojums), Sail izmanto mainīgos, kas nosaka savienojumu ar MySQL datu bāzes konteineru:
- `db_connection`: norāda datu bāzes draiveri, parasti` mysql`.
- `DB_HOST`: datu bāzes servera resursdatora nosaukums, parasti MySQL konteinera nosaukums, piemēram,` mysql`.
- `DB_PORT`: MySQL savienojuma noklusējuma ports, parasti` 3306`.
- "DB_DATABASE": konteinera iekšpusē izmantotās datu bāzes nosaukums.
- `db_username`: lietotājvārds, lai piekļūtu datu bāzei.
- `db_password`: parole datu bāzes lietotājam.
Redis konfigurācija
Sail pēc izvēles atbalsta Redis kešatmiņas vai sesiju apstrādei. Šie mainīgie konfigurē Redis savienojumu:
- "Redis_host": Redis servera resursdatora nosaukums, bieži "Redis", lai tas atbilstu Redis konteineram.
- `redis_password`: parole Redis, ja tāda ir.
- `Redis_port`: Port Redis klausās, bieži` 6379`.
Pakalpojuma portu pārsūtīšanas mainīgie
Lai izvairītos no konfliktiem ar pakalpojumiem, kas jau darbojas ar kopīgām ostām resursdatora sistēmā, Sail ļauj pielāgot pārsūtītās ostas saviem pakalpojumiem:
- `FORMT_DB_PORT`: vietējā mašīnas ports, kas pārsūtīts uz MySQL standarta portu 3306 konteinerā (piemēram, to varat iestatīt, ja 3306 ports ir aizņemts).
- `FORMT_REDIS_PORT`: vietējais ports pārsūtīts uz Redis noklusējuma portu 6379.
- `FORPTER_MAILHOG_PORT`: vietējais ports pārsūtīts uz MailHog servisa portu, ko parasti izmanto e -pasta pārbaudei.
- Citi `uz priekšu_*` mainīgie pastāv tādiem pakalpojumiem kā PhpMyAdmin vai citi buras pakalpojumi, ja tie ir konfigurēti.
konteineru lietotājs un atļauju mainīgie lielumi
SAIL palaiž konteinerus, izmantojot lietotāju, kas atbilst vietējam resursdatora lietotājam, lai pārliecinātos, ka failu atļaujas paliek konsekventas starp resursdatoru un konteineru. Šie mainīgie kontrolē lietotāja ID:
- `wwwuser`: Iestata lietotāja ID konteinerā, kas atbilst resursdatora mašīnas lietotāja ID, nodrošinot, ka faila atļaujas sakrīt.
- `wwwgroup`: Iestata grupas ID konteinera iekšpusē, lai tas atbilstu resursdatoram.
buras pielāgošanas mainīgie lielumi
- `APP_Service`: ļauj mainīt primārā laravel lietojumprogrammu pakalpojuma konteinera nosaukumu` docker-compose.yml`. Tas var būt noderīgi uzlabotām konfigurācijām.
- `Sail_files`: ļauj norādīt papildu Docker komponēt ignorēšanas failus, kas jāielādē līdzās standarta buras failiem. Tas ir paredzēts buras vides pielāgošanai vai paplašināšanai.
- "Superisor_php_command": izmanto, lai pielāgotu PHP startēšanas komandu galvenajā Laravel Sail konteinerā, kas noderīgi integrējot tādus rīkus kā Laravel Octane.
- `Supervisor_php_user`: Iestata lietotāju, kurš vada PHP vadītāja procesā konteinera iekšpusē.
pasta pakalpojumu mainīgie lielumi
Laravel Sail nāk ar MailHog konteineru e -pastu uztveršanai, kas nosūtīti attīstības laikā. Šie mainīgie konfigurē pasta iestatījumus:
- `Mail_Mailer`: iestatiet uz` SMTP` vai citu sūtītāja draiveri.
- `Mail_host`: pasta servera resursdators, parasti“ MailHog ”.
- `Mail_port`: SMTP ports, parasti` 1025` MailHog.
- `Mail_username` un` Mail_Password`: ja nepieciešams, akreditācijas dati (izstrādes laikā parasti atstāj tukšu).
rindas un kešatmiņas vadītāji
Buras noklusējums `.env` var tos iestatīt:
- `Queue_connection`: definē rindas draiveri, piemēram,` sinhronizāciju, `datu bāzi` vai` Redis`.
- `cache_driver`: nosaka kešatmiņas draiveri, bieži` fails` vai `Redis`.
Citi pakalpojumu vides mainīgie
- `xdebug_config`: automātiski konfigurēts ar buru atkļūdošanai ar xdebug, bieži iestatot` client_host = host.docker.internal` Mac un Windows.
- `PUID` un` PGID`: reizēm redzams pielāgotās buras konfigurācijās, lai skaidri iestatītu lietotāja un grupas ID lietotāja un atļauju saskaņošanai.
Vides mainīgo lomu kopsavilkums burā
Šie vides mainīgie, kas galvenokārt definēti failā `.env`, kalpo:
- Konfigurējiet Laravel lietojumprogrammas pamatus (nosaukums, vide, atkļūdošanas režīms, URL).
- Pievienojiet laravel lietojumprogrammas konteineru ar tā datu bāzes un kešatmiņas pakalpojumiem Docker iekšpusē.
- Kartes porti no konteinera uz resursdatora mašīnu, izvairoties no vietējiem ostas konfliktiem.
- Nodrošiniet pareizas lietotāju un grupas atļaujas starp resursdatora un konteineru sistēmām.
- Pielāgojiet Laravel Sail Environment konteinerus un procesus uzlabotai lietošanai.
Faila vides mainīgie `.env` tieši kontrolē konteineru uzvedību, kas definēta buras" Docker-compose.yml "un visus paplašinātos kompozīcijas failus, ko norāda` Sail_files ". Pielāgojot šos mainīgos lielumus un restartējot buras (izmantojot tādas komandas kā `./vendor/bin/sail down` un` ./vendor/bin/sail up -d`) piemēro konfigurācijas izmaiņas.
Šī iestatīšana ļauj Laravel Sail nodrošināt izolētu, bet konfigurējamu vietējās attīstības vidi, izmantojot Docker, atspoguļojot ražošanas izturēšanos visur, kur praktiski saglabājot izstrādātāju ērtības un elastību.