Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jakie są wspólne zmienne środowiskowe stosowane w żaglu Laravel


Jakie są wspólne zmienne środowiskowe stosowane w żaglu Laravel


Laravel Sail, środowisko programistyczne dla Laravel za pomocą Dockera, w dużej mierze opiera się na zmiennych środowiskowych zdefiniowanych przede wszystkim w pliku „.env` u podstaw projektu. Te zmienne środowiskowe konfigurują aplikację i jej usługi, umożliwiając płynną orkiestrację kontenerów i strojenie ustawień odpowiednich do rozwoju lokalnego.

Wspólne zmienne środowiskowe stosowane w Laravel Sail można pogrupować zgodnie z ich celem: konfiguracja aplikacji, konfiguracja bazy danych, porty usług i powiązania, ustawienia użytkowników kontenerów i dostosowania specyficzne dla żagla.

Zmienne konfiguracji aplikacji

- `App_name`: Definiuje nazwę aplikacji Laravel.
- `app_env`: Ustawia typ środowiska, powszechnie„ lokalny ”dla żagli.
- `App_Key`: Klucz szyfrowania Base64 używany przez Laravel do szyfrowania i bezpieczeństwa sesji.
- `App_debug`: Flaga booletowa, aby włączyć szczegółowe komunikaty o błędach i funkcje debugowania (` true` lub `false`).
- `App_Url`: URL, w którym aplikacja jest dostępna lokalnie, często ustawiona na` http: // localHost`.

Zmienne połączenia bazy danych

Aby zorganizować kontener bazy danych (usługa MySQL`), Sail używa zmiennych, które definiują połączenie z kontenerem bazy danych MySQL:

- `db_connection`: Wskazuje sterownik bazy danych, zwykle` MySQL`.
- `db_host`: nazwa hosta dla serwera bazy danych, zwykle nazwa kontenera MySQL, takiej jak` MySQL`.
- `db_port`: domyślny port dla łączności MySQL, zwykle` 3306`.
- `db_database`: Nazwa bazy danych używanej wewnątrz kontenera.
- `db_username`: Nazwa użytkownika dostęp do bazy danych.
- `db_password`: Hasło dla użytkownika bazy danych.

Konfiguracja Redis

Żagiel opcjonalnie obsługuje Redis do buforowania lub obsługi sesji. Te zmienne konfigurują łączność Redis:

- `Redis_host`: nazwa hosta dla serwera Redis, często„ redis ”, aby dopasować kontener Redis.
- `Redis_Password`: Hasło dla Redis, jeśli istnieje.
- `Redis_port`: Port Redis słucha, często` 6379`.

Zmienne przekazywania portu serwisowego

Aby uniknąć konfliktów z usługami już działającymi na wspólnych portach w systemie hosta, Sail umożliwia dostosowanie przekazanych portów do swoich usług:

- `Forward_db_port`: Port maszyny lokalnej przekazany do standardowego portu 3306 MySQL w kontenerze (np. Możesz to ustawić, jeśli port 3306 jest zajęty).
- `Forward_redis_port`: Port lokalny przekazany do Redis domyślnego portu 6379.
- `Forward_mailhog_port`: Port lokalny przekazany do portu serwisowego MailHog, zwykle używanego do testowania e -mail.
- Inne `` Forward_*`Istnieją usługi takie jak PhpMyAdmin lub inne usługi żeglarskie, jeśli są skonfigurowane.

Zmienne użytkownika i uprawnienia kontenera

Sail uruchamia kontenery za pomocą użytkownika, który pasuje do lokalnego użytkownika hosta, aby upewnić się, że uprawnienia do plików pozostają spójne między hostem a kontenerem. Te zmienne kontrolują identyfikatory użytkowników:

- `wwwuser`: Ustawia identyfikator użytkownika wewnątrz kontenera, który odpowiada identyfikatorowi użytkownika komputera hosta, zapewniając dopasowanie uprawnień do plików.
- `wwwgroup`: Ustawia identyfikator grupy wewnątrz kontenera, aby pasował do hosta.

zmienne dostosowywania żagla

- `App_service`: Umożliwia zmianę głównej nazwy kontenera serwisowego aplikacji Laravel wewnątrz„ Docker-Compose.yml`. Może to być przydatne w przypadku konfiguracji zaawansowanych.
- `Sail_files`: pozwala określić dodatkowe komponowanie plików zastępowania, które mają być załadowane obok standardowych plików Sail. Służy to do dostosowania lub rozszerzenia środowiska żagla.
- `Supervisor_php_command`: Używany do dostosowania polecenia uruchamiania PHP wewnątrz głównego kontenera żagla Laravel, przydatne podczas integracji narzędzi takich jak Laravel Octane.
- `Supervisor_php_user`: Ustawia użytkownika, który uruchamia PHP w procesie przełożonego wewnątrz kontenera.

Zmienne serwisowe poczty

Laravel Sail jest wyposażony w kontener Mailhog do przechwytywania wiadomości e -mail wysyłanych podczas rozwoju. Te zmienne konfigurują ustawienia poczty:

- `Mail_mailer`: Ustaw na` SMTP` lub innego sterownika pocztowego.
- `Mail_host`: Nazwa hosta dla serwera poczty, zwykle„ Mailhog`.
- `Mail_port`: Port dla SMTP, powszechnie` 1025` dla Mailhog.
- `Mail_username` i` Mail_Password`: W razie potrzeby poświadczenia (powszechnie pozostawione puste).

sterowniki kolejki i pamięci podręcznej

Domyślny żagiel „.env” może je ustawić:

- `queue_connection`: definiuje sterownik kolejki, taki jak` sync`, `baza danych 'lub` `redis`.
- `Cache_driver`: Określa sterownik pamięci podręcznej, często„ plik ”lub„ redis ”.

Inne zmienne środowiska serwisowego

- `xdebug_config`: Automatycznie skonfigurowany przez Sail do debugowania za pomocą Xdebug, często ustawiając` client_host = host.docker.internal` dla komputerów Mac i Windows.
- `puid` i` pgid`: czasami widoczne w konfiguracjach niestandardowych żagli w celu jawnego ustawiania identyfikatorów użytkownika i grup do dopasowania użytkownika.

Podsumowanie ról zmiennych środowiskowych w żaglu

Te zmienne środowiskowe, głównie zdefiniowane w pliku „.env”, służą:

- Skonfiguruj podstawy aplikacji Laravel (nazwa, środowisko, tryb debugowania, URL).
- Podłącz kontener aplikacji Laravel do jego bazy danych i usług pamięci podręcznej w Docker.
- Mapowanie portów od kontenera do komputera hosta, unikając lokalnych konfliktów portów.
- Zapewnij odpowiednie uprawnienia użytkownika i grupy między systemami hosta i kontenerów.
- Dostosuj kontenery i procesy środowiska Sail Laravel do zaawansowanego użytkowania.

Zmienne środowiska plików „.env” bezpośrednio kontrolują zachowanie kontenerów zdefiniowanych w „Docker-Compose.yml` Sail i wszelkich rozszerzonych plikach komponowanych wskazanych przez„ Sail_files ”. Dostosowanie tych zmiennych i ponowne uruchomienie żagla (przy użyciu poleceń takich jak `./vendor/bin/sail down` i` ./vendor/bin/sail up-D`) stosuje zmiany konfiguracji.

Ta konfiguracja pozwala Laravel Sail zapewnić izolowane, ale konfigurowalne, lokalne środowisko programistyczne przy użyciu Docker, odzwierciedlając zachowania produkcyjne wszędzie tam, gdzie jest praktyczne, zachowując wygodę i elastyczność programistów.