Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Wat zijn de gemeenschappelijke omgevingsvariabelen die worden gebruikt in Laravel Sail


Wat zijn de gemeenschappelijke omgevingsvariabelen die worden gebruikt in Laravel Sail


Laravel Sail, een ontwikkelingsomgeving voor Laravel met behulp van Docker, is sterk afhankelijk van omgevingsvariabelen die voornamelijk worden gedefinieerd in het `.env' -bestand aan de oorzaak van het project. Deze omgevingsvariabelen configureren de toepassing en de services, waardoor naadloze orkestratie van containers en afstemming van instellingen geschikt is voor lokale ontwikkeling.

De gemeenschappelijke omgevingsvariabelen die in Laravel Sail worden gebruikt, kunnen worden gegroepeerd op basis van hun doel: applicatieconfiguratie, databaseconfiguratie, servicepoorten en bindingen, instellingen voor gebruikersgebruikers en zeilspecifieke aanpassingen.

Toepassingsconfiguratievariabelen

- `App_Name`: definieert de naam van de Laravel -toepassing.
- `App_env`: stelt het milieutype in, meestal 'lokaal' voor zeil.
- `App_Key`: een base64-gecodeerde coderingssleutel die door Laravel wordt gebruikt voor codering en sessiebeveiliging.
- `App_Debug`: een Booleaanse vlag om gedetailleerde foutmeldingen en foutopsporingsfuncties in te schakelen (` true` of `false`).
- `App_url`: de URL waarbij de toepassing lokaal toegankelijk is, vaak ingesteld op` http: // localhost`.

Database -verbindingsvariabelen

Om de databasecontainer (`MySQL' -service) te orkestreren, gebruikt SAIR -variabelen die de verbinding met de MySQL -databasecontainer definiëren:

- `db_connection`: geeft het databasestuurprogramma aan, meestal` mysql`.
- `db_host`: hostnaam voor de databaseserver, meestal de naam van de MySQL -container, zoals` mysql`.
- `DB_Port`: standaardpoort voor MySQL -connectiviteit, meestal` 3306`.
- `db_database`: de naam van de database die in de container wordt gebruikt.
- `DB_UserName`: gebruikersnaam om toegang te krijgen tot de database.
- `DB_PASSWORD`: wachtwoord voor de database -gebruiker.

Redis Configuratie

Zeilt optioneel ondersteunt Redis voor caching of sessieafhandeling. Deze variabelen configureren Redis -connectiviteit:

- `Redis_host`: hostnaam voor de Redis -server, vaak` Redis` om overeen te komen met de Redis -container.
- `Redis_Password`: wachtwoord voor Redis, indien aanwezig.
- `Redis_port`: Port Redis luistert op, vaak` 6379`.

Servicepoort doorsturen variabelen

Om conflicten te voorkomen met diensten die al worden uitgevoerd op gemeenschappelijke poorten op het hostsysteem, maakt SAIR aanpassing van doorgestuurde poorten voor zijn services mogelijk:

- `forward_db_port`: lokale machinepoort doorgestuurd naar de standaardpoort 3306 van MySQL in de container (u kunt bijvoorbeeld instellen of poort 3306 bezet is).
- `forward_redis_port`: lokale poort doorgestuurd naar de standaardpoort 6379.
- `forward_mailhog_port`: lokale poort doorgestuurd naar Mailhog -servicepoort, meestal gebruikt voor e -mailtests.
- Andere `forward_*` variabelen bestaan ​​voor services zoals PHPMyAdmin of andere zeildiensten indien geconfigureerd.

Container Gebruikers- en machtigingsvariabelen

Zeil draait containers met behulp van een gebruiker die overeenkomt met de lokale hostgebruiker om ervoor te zorgen dat bestandsmachtigingen consistent blijven tussen de host en container. Deze variabelen besturen de gebruikers -ID's:

- `WWWUSER`: Stelt de gebruikers -ID in in de container die overeenkomt met de gebruikers -ID van de hostmachine, waardoor de overeenkomst van de bestandsmachtigingen overeenkomt.
- `wwwGroup`: stelt de groeps -ID in de container in om de host te matchen.

Zeilaanpassingsvariabelen

- `App_Service`: maakt het mogelijk om de primaire laravel-applicatiedienstcontainernaam in de` Docker-compose.yml` te wijzigen. Dit kan handig zijn voor geavanceerde configuraties.
- `Sail_files`: Hiermee kunt u extra Docker Compose -override -bestanden opgeven die naast de standaard zeilbestanden moeten worden geladen. Dit is voor het aanpassen of uitbreiden van de zeilomgeving.
- `Supervisor_php_command`: gebruikt om de PHP -startup -opdracht in de hoofdcontainer van Laravel -zeil aan te passen, handig bij het integreren van tools zoals Laravel Octane.
- `Supervisor_php_user`: stelt de gebruiker in die PHP uitvoert in het supervisorproces in de container.

Mail Service variabelen

Laravel Sail wordt geleverd met een Mailhog -container voor het vastleggen van e -mails die tijdens de ontwikkeling zijn verzonden. Deze variabelen configureren e -mailinstellingen:

- `Mail_mailer`: ingesteld op` SMTP` of een ander mailer -stuurprogramma.
- `Mail_host`: hostnaam voor de mailserver, meestal` Mailhog`.
- `Mail_port`: poort voor SMTP, meestal` 1025` voor mailhog.
- `Mail_UserName` en` Mail_Password`: Referenties indien nodig (gewoonlijk leeg achtergelaten in ontwikkeling).

wachtrij- en cache -stuurprogramma's

Sail's standaard `.env` kan deze instellen:

- `queue_connection`: definieert het wachtrijstuurprogramma, zoals` sync`, `database` of` redis`.
- `Cache_driver`: bepaalt het cache -driver, vaak` bestand` of `redis`.

Andere variabelen voor serviceomgeving

- `xdebug_config`: automatisch geconfigureerd door te zeilen voor foutopsporing met xdebug, vaak` client_host = host.docker.internal` instellen voor Mac en Windows.
- `puid` en` pGID`: af en toe gezien in aangepaste zeilconfiguraties om gebruikers- en groep-ID's expliciet in te stellen voor matching van gebruikersvermissing.

Samenvatting van omgevingsvariabele rollen in zeil

Deze omgevingsvariabelen, meestal gedefinieerd in het bestand `.env`, dienen om:

- Configureer de basisbeginselen van de Laravel -applicatie (naam, omgeving, foutopsporingsmodus, URL).
- Verbind de Laravel -applicatiecontainer met zijn database- en cacheservices in Docker.
- Kaartpoorten van container naar de hostmachine, waardoor lokale poortconflicten worden vermeden.
- Zorg voor de juiste gebruikers- en groepsmachtigingen tussen host- en containersystemen.
- Pas de Laravel Sail -omgevingscontainers en processen aan voor geavanceerd gebruik aan.

De variabelen `.env` bestand omgevingsvariabelen regelen rechtstreeks het gedrag van containers gedefinieerd in zeil's` docker-compose.yml` en eventuele uitgebreide compose-bestanden aangegeven door `sail_files`. Het aanpassen van deze variabelen en het opnieuw opstarten van zeil (met behulp van opdrachten zoals `./Vendor/bin/sail down` en` ./Vendor/bin/sail up -d`) past de configuratwijzigingen toe.

Met deze opstelling kan Laravel Sail een geïsoleerde, maar configureerbare, lokale ontwikkelingsomgeving bieden met behulp van Docker, die het productiegedrag spiegelt, waar praktisch overal praktisch is met behoud van het gemak en de flexibiliteit van ontwikkelaars.