Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Quais são as variáveis ​​de ambiente comum usadas no Laravel Sail


Quais são as variáveis ​​de ambiente comum usadas no Laravel Sail


O Laravel Sail, um ambiente de desenvolvimento para Laravel usando o Docker, depende muito de variáveis ​​de ambiente definidas principalmente no arquivo `.env` na raiz do projeto. Essas variáveis ​​de ambiente configuram o aplicativo e seus serviços, permitindo a orquestração perfeita de contêineres e ajuste de configurações adequadas para o desenvolvimento local.

As variáveis ​​de ambiente comum usadas no Laravel Sail podem ser agrupadas de acordo com seu objetivo: configuração de aplicativos, configuração do banco de dados, portas e ligações de serviço, configurações do usuário do contêiner e personalizações específicas de vela.

Variáveis ​​de configuração do aplicativo

- `app_name`: define o nome do aplicativo Laravel.
- `App_env`: define o tipo de ambiente, geralmente` local` para vela.
- `app_key`: uma chave de criptografia codificada por Base64 usada pelo Laravel para criptografia e segurança da sessão.
- `app_debug`: um sinalizador booleano para ativar mensagens de erro detalhadas e recursos de depuração (` true` ou `false`).
- `app_url`: o URL em que o aplicativo é acessível localmente, geralmente definido como` http: // localhost`.

Variáveis ​​de conexão do banco de dados

Para orquestrar o contêiner do banco de dados (serviço MySQL '), o Sail usa variáveis ​​que definem a conexão com o contêiner do banco de dados MySQL:

- `db_connection`: indica o driver do banco de dados, normalmente` mysql`.
- `db_host`: nome do host para o servidor de banco de dados, geralmente o nome do contêiner MySQL, como 'MySQL`.
- `db_port`: porta padrão para conectividade MySQL, geralmente` 3306`.
- `db_database`: o nome do banco de dados que está sendo usado dentro do contêiner.
- `db_username`: nome de usuário para acessar o banco de dados.
- `db_password`: senha para o usuário do banco de dados.

Redis Configuration

O SAIL oferece opcionalmente a Redis para cache ou manuseio de sessões. Essas variáveis ​​configuram a conectividade Redis:

- `Redis_Host`: HostName para o servidor Redis, geralmente` Redis` para corresponder ao contêiner Redis.
- `Redis_Password`: senha para redis, se houver.
- `Redis_port`: Port Redis ouve, geralmente` 6379`.

Variáveis ​​de encaminhamento da porta de serviço

Para evitar conflitos com os serviços que já estão em execução em portas comuns no sistema host, a Sail permite a personalização de portas encaminhadas para seus serviços:

- `Forward_db_port`: porta de máquina local encaminhada para a porta 3306 padrão do MySQL no contêiner (por exemplo, você pode definir isso se a porta 3306 estiver ocupada).
- `forward_redis_port`: porta local encaminhada para a porta padrão Redis 6379.
- `Forward_MailHog_port`: Porta local encaminhada para a porta de serviço MaheHog, normalmente usada para testes de email.
- Outras variáveis ​​`forward_*` existem para serviços como Phpmyadmin ou outros serviços de vela, se configurados.

Variáveis ​​de usuário e permissões de contêiner##

O Sail executa contêineres usando um usuário que corresponde ao usuário do host local para garantir que as permissões de arquivo permaneçam consistentes entre o host e o contêiner. Essas variáveis ​​controlam os IDs de usuário:

- `wwwuser`: define o ID do usuário dentro do contêiner que corresponde ao ID do usuário da máquina host, garantindo que as permissões de arquivo correspondam.
- `wwwgroup`: define o ID do grupo dentro do contêiner para corresponder ao host.

Variáveis ​​de personalização de vela

- `App_service`: permite alterar o nome do contêiner de serviço de aplicativo Laravel primário dentro do` Docker-Compose.yml`. Isso pode ser útil para configurações avançadas.
- `sail_files`: permite especificar arquivos de substituição de composição adicional do docker a serem carregados juntamente com os arquivos de vela padrão. Isto é para personalizar ou estender o ambiente de vela.
- `supervisor_php_command`: usado para personalizar o comando startup php dentro do contêiner principal de vela de Laravel, útil ao integrar ferramentas como o Laravel Octane.
- `supervisor_php_user`: define o usuário que executa o PHP no processo de supervisor dentro do contêiner.

Variáveis ​​de serviço de correio

O Laravel Sail vem com um contêiner de MailHog para capturar e -mails enviados durante o desenvolvimento. Essas variáveis ​​configuram configurações de email:

- `Mail_mailer`: definido como` smtp` ou outro driver de mala direto.
- `Mail_Host`: HostName para o servidor de email, geralmente` MailHog`.
- `Mail_port`: porta para SMTP, geralmente` 1025` para MailHog.
- `Mail_UserName` e` Mail_Password`: Credenciais, se necessário (comumente deixado em branco no desenvolvimento).

Filas e drivers de cache

O padrão de Sail `.env` pode definir estes:

- `fileue_connection`: define o driver da fila, como` sincroniza, `banco de dados` ou` redis`.
- `cache_driver`: determina o driver de cache, geralmente` arquivo` ou `redis`.

Outras variáveis ​​de ambiente de serviço

- `xdebug_config`: configurado automaticamente por navegar para depuração com xdebug, geralmente definindo` client_host = host.docker.internal` para Mac e Windows.
- `puid` e` pgid`: ocasionalmente visto em configurações personalizadas de vela para definir explicitamente os IDs de usuário e grupo para correspondência de permissão do usuário.

Resumo das funções variáveis ​​do ambiente na vela

Essas variáveis ​​de ambiente, principalmente definidas no arquivo `.env`, servem para:

- Configure o básico do aplicativo Laravel (nome, ambiente, modo de depuração, URL).
- Conecte o contêiner de aplicativos Laravel aos seus serviços de banco de dados e cache dentro do Docker.
- Portas de mapa do contêiner para a máquina host, evitando conflitos de portas locais.
- Verifique se as permissões adequadas de usuário e grupo entre os sistemas de host e contêiner.
- Personalize os contêineres e processos do ambiente de vela do Laravel para uso avançado.

As variáveis ​​de ambiente de arquivo `.env` controlam diretamente o comportamento dos contêineres definidos no` Docker-Compose.yml` da Sail e todos os arquivos de composição estendida indicados por `sail_files`. Ajustar essas variáveis ​​e reiniciar a vela (usando comandos como `./vendor/bin/sail Down` e` ./vendor/bin/sail up -d`) aplica as alterações de configuração.

Essa configuração permite que o Laravel Sail forneça um ambiente de desenvolvimento local isolado, mas configurável, usando o Docker, espelhando o comportamento da produção onde quer que seja prático, mantendo a conveniência e a flexibilidade do desenvolvedor.