Laravel Sail, Laravelin Dockerin kehitysympäristö, luottaa voimakkaasti ympäristömuuttujiin, jotka on määritelty ensisijaisesti projektin juuressa olevassa `.env` -tiedostossa. Nämä ympäristömuuttujat määrittävät sovelluksen ja sen palvelut, mahdollistaen säiliöiden saumattoman orkesterin ja paikalliseen kehitykseen sopivien asetusten virittämisen.
Laravel Sailissa käytetyt yleiset ympäristömuuttujat voidaan ryhmitellä niiden tarkoituksen mukaan: sovellusmääritykset, tietokannan kokoonpanot, huoltoportit ja sidokset, säilöjen käyttäjän asetukset ja purjekohtaiset mukautukset.
Sovelluksen määritysmuuttujat
- `App_Name`: Määrittää Laravel -sovelluksen nimen.
- `App_env`: Asettaa ympäristötyypin, yleensä" paikallinen "purjehtimaan.
- `App_key`: Base64-koodatu salausavain, jota Laravel käyttää salaus- ja istuntoturvallisuuteen.
- `app_debug`: Boolen -lippu yksityiskohtaisten virheilmoitusten ja virheenkorjausominaisuuksien (` true` tai `false`) sallimiseksi.
- `App_Url`: URL -osoite, jossa sovellukseen pääsee paikallisesti, asetetaan usein` http: // localhost`.
Tietokantayhteysmuuttujat
Tietokantasäiliön (`MySQL` -palvelun) järjestämiseksi Sail käyttää muuttujia, jotka määrittelevät yhteyden MySQL -tietokantasäiliöön:
- `db_connection`: Ilmaisee tietokantaohjaimen, tyypillisesti` mysql`.
- `db_host`: Hostname tietokantapalvelimelle, yleensä MySQL -säiliön nimi, kuten` mysql`.
- `db_port`: MySQL -yhteyden oletusportti, yleensä` 3306`.
- `DB_Database`: Säiliön sisällä käytetyn tietokannan nimi.
- `db_username`: Käyttäjätunnus käyttää tietokantaa.
- `db_password`: tietokannan käyttäjän salasana.
redis -määritys
Purje tukee valinnaisesti Redisiä välimuistissa tai istunnon käsittelyssä. Nämä muuttujat määrittävät Redis -yhteyden:
- `redis_host`: REDIS -palvelimen isäntänimi, usein` redis` vastaamaan Redis -säilöä.
- `redis_password`: redis -salasana, jos sellainen on.
- `redis_port`: Port Redis kuuntelee usein` 6379`.
Service Portin edelleenlähetysmuuttujat
Välttääksesi konfliktit isäntäjärjestelmän yleisten satamien kanssa jo toimivien palvelujen kanssa, SAIL mahdollistaa palvelujensa lähettämien satamien mukauttamisen:
- `eteenpäin_db_port`: Paikallinen koneportti, joka on edelleenlähetetty MySQL: n vakioporttiin 3306 säilössä (esim. Voit asettaa tämän, jos portti 3306 on miehitetty).
- `Forward_redis_port`: Paikallinen portti välitetty Redisin oletusporttiin 6379.
- `eteenpäin_mailhog_port`: Paikallinen portti, joka on edelleenlähetetty MailHog -palveluporttiin, jota käytetään yleensä sähköpostin testaamiseen.
- Muita `eteenpäin_*` Muuttujia on palveluille, kuten PhpMyadmin tai muut purjepalvelut, jos ne on määritetty.
Konttien käyttäjä- ja käyttöoikeusmuuttujat
Purje suorittaa säiliöitä käyttämällä käyttäjää, joka vastaa paikallista isäntäkäyttäjää varmistaakseen, että tiedostojen käyttöoikeudet pysyvät yhdenmukaisina isännän ja säilön välillä. Nämä muuttujat hallitsevat käyttäjätunnuksia:
- `wwwuser`: Asettaa käyttäjätunnuksen säilölle, joka vastaa isäntäkoneen käyttäjätunnusta, varmistaen, että tiedostojen käyttöoikeudet vastaavat.
- `wwwgroup`: Asettaa ryhmän tunnuksen säiliön sisälle vastaamaan isäntää.
purjeen mukauttamismuuttujat
- `app_service`: sallii ensisijaisen Laravel-sovelluspalvelun nimen vaihtamisen` Docker-compose.yml` sisällä. Tämä voi olla hyödyllistä edistyneissä kokoonpanoissa.
- `Sail_Files`: Antaa sinun määrittää ylimääräiset Docker Compose Override -tiedostot, jotka ladataan tavallisten purjetiedostojen rinnalle. Tämä on tarkoitettu purjeympäristön mukauttamiseen tai laajentamiseen.
- `Supervisor_php_command`: Käytetään PHP -startup -komennon mukauttamiseen pää -Laravel -purjehtisäiliön sisällä, hyödyllinen integroidessasi työkaluja, kuten Laravel Octane.
- `Supervisor_php_user`: Asettaa käyttäjän, joka suorittaa PHP: n esimiehen prosessissa säiliön sisällä.
Mail Service -muuttujat
Laravel Sailin mukana tulee MailHog -kontti kehityksen aikana lähetettyjen sähköpostien sieppaamiseksi. Nämä muuttujat määrittävät postiasetukset:
- `Mail_Mailer`: Aseta arvoon` Smtp` tai muu postitusohjain.
- `Mail_host`: Postipalvelimen isäntänimi, yleensä` mailHog`.
- `Mail_port`: SMTP: n portti, yleensä` 1025` MailHogille.
- `Mail_Username` ja` mail_password`: käyttöoikeustiedot tarvittaessa (yleensä jätetty tyhjäksi kehityksessä).
jono- ja välimuistin ohjaimet
Sailin oletus `.env` voi asettaa nämä:
- `queue_connection`: määrittelee jononohjaimen, kuten" synkronointi "," tietokanta "tai` redis`.
- `cache_driver`: Määrittää välimuistin ohjaimen, usein` tiedosto 'tai `redis`.
Muut palveluympäristömuuttujat
- `XDEBUG_CONFIG`: Konfiguroitu automaattisesti purjehtimalla virheenkorjausta varten XDEBUG: lla, asettamalla usein` client_host = host.docker.internal` Macille ja Windowsille.
- `puid` ja` PGID`: Toisinaan räätälöityissä purjekokoonpanoissa asetetaan käyttäjän ja ryhmän tunnukset nimenomaisesti käyttäjän kulutuksen sovittamiseen.
Ympäristömuuttuvien roolien yhteenveto purjeessa
Nämä ympäristömuuttujat, jotka on määritelty enimmäkseen `.env` -tiedostossa, palvelevat:
- Määritä Laravel -sovellusten perusteet (nimi, ympäristö, virheenkorjaustila, URL).
- Kytke Laravel -sovellussäiliö tietokanta- ja välimuistipalveluihin Dockerin sisällä.
- Karttaportit säiliöstä isäntäkoneeseen välttäen paikallisia porttikonflikteja.
- Varmista asianmukaiset käyttäjän ja ryhmän käyttöoikeudet isäntä- ja säilöjärjestelmien välillä.
- Mukauta Laravel -purjeympäristöastiat ja prosessit edistyneen käyttöä varten.
`.Env` tiedostoympäristömuuttujat hallitsevat suoraan Sailin" Docker-compose.yml` -sovelluksessa määriteltyjen säiliöiden käyttäytymistä ja kaikkia pidennettyjä kompositiedostoja, jotka on osoitettu `Sail_Files`. Näiden muuttujien säätäminen ja purjeen käynnistäminen uudelleen (käyttämällä komentoja, kuten `./vendor/bin/sail alas` ja` ./vendor/bin/sail up -d`) soveltaa kokoonpanomuutoksia.
Tämä asennus antaa Laravel Sailille mahdollisuuden tarjota eristetty, mutta konfiguroitava, paikallinen kehitysympäristö Dockerilla, peilata tuotantokäyttäytymistä missä tahansa käytännöllisessä säilyttäen kehittäjien mukavuuden ja joustavuuden.