Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon ¿Cuáles son las variables de entorno comunes utilizadas en Laravel Sail?


¿Cuáles son las variables de entorno comunes utilizadas en Laravel Sail?


Laravel Sail, un entorno de desarrollo para Laravel que usa Docker, depende en gran medida de las variables de entorno definidas principalmente en el archivo '.env` en la raíz del proyecto. Estas variables de entorno configuran la aplicación y sus servicios, permitiendo la orquestación perfecta de contenedores y ajuste de configuraciones adecuadas para el desarrollo local.

Las variables de entorno comunes utilizadas en Laravel Sail se pueden agrupar de acuerdo con su propósito: configuración de aplicaciones, configuración de bases de datos, puertos y enlaces de servicio, configuraciones de usuarios de contenedores y personalizaciones específicas de vela.

Variables de configuración de la aplicación

- `APP_NAME`: Define el nombre de la aplicación Laravel.
- `APP_ENV`: Establece el tipo de entorno, comúnmente` local` para navegar.
- `APP_KEY`: una clave de cifrado codificada Base64 utilizada por Laravel para el cifrado y la seguridad de la sesión.
- `APP_DEBUG`: un indicador booleano para habilitar mensajes de error detallados y características de depuración (` true` o `falso`).
- `APP_URL`: la URL donde la aplicación es accesible localmente, a menudo establecida en` http: // localhost`.

Variables de conexión de base de datos

Para orquestar el contenedor de la base de datos (`MySQL` Service), Sail utiliza variables que definen la conexión al contenedor de la base de datos MySQL:

- `db_connection`: indica el controlador de la base de datos, típicamente` mysql`.
- `db_host`: nombre de host para el servidor de la base de datos, generalmente el nombre del contenedor MySQL, como 'MySQL`.
- `db_port`: puerto predeterminado para la conectividad MySQL, generalmente` 3306`.
- `db_database`: el nombre de la base de datos que se usa dentro del contenedor.
- `db_username`: nombre de usuario para acceder a la base de datos.
- `db_password`: contraseña para el usuario de la base de datos.

Configuración de Redis

La navegación opcionalmente es compatible con Redis para el almacenamiento en caché o el manejo de la sesión. Estas variables configuran la conectividad Redis:

- `Redis_host`: nombre de host para el servidor Redis, a menudo 'Redis` para que coincida con el contenedor Redis.
- `redis_password`: contraseña para redis, si corresponde.
- `Redis_port`: Port Redis escucha, a menudo` 6379`.

Variables de reenvío de puertos de servicio

Para evitar conflictos con los servicios que ya se ejecutan en puertos comunes en el sistema host, Sail permite la personalización de puertos reenviados para sus servicios:

- `Forward_db_port`: puerto de máquina local reenviado al puerto estándar de MySQL 3306 en el contenedor (por ejemplo, puede configurar esto si está ocupado el puerto 3306).
- `Forward_redis_port`: puerto local reenviado al puerto predeterminado Redis 6379.
- `Forward_mailhog_port`: puerto local reenviado al puerto de servicio Mailhog, generalmente utilizado para pruebas de correo electrónico.
- Existen otras variables `hacia adelante_*` para servicios como phpmyadmin u otros servicios de vela si están configurados.

Variables de usuario y permisos de contenedores

Sail ejecuta contenedores utilizando un usuario que coincida con el usuario local del host para garantizar que los permisos de archivo sigan siendo consistentes entre el host y el contenedor. Estas variables controlan las ID de usuario:

- `wwwuser`: Establece la ID de usuario dentro del contenedor que corresponde a la ID de usuario de la máquina host, asegurando que los permisos de archivos coincidan.
- `wwwgroup`: establece la ID del grupo dentro del contenedor para que coincida con el host.

Variables de personalización de vela

- `APP_Service`: permite cambiar el nombre del contenedor del servicio de aplicación de Laravel primario dentro del` Docker-Compose.yml`. Esto puede ser útil para configuraciones avanzadas.
- `sail_files`: le permite especificar archivos de anulación de componer adicionales para componer que se cargarán junto con los archivos de vela estándar. Esto es para personalizar o extender el entorno de vela.
- `supervisor_php_command`: se usa para personalizar el comando de inicio de PHP dentro del contenedor principal de Laravel Sail, útil al integrar herramientas como Laravel Octane.
- `supervisor_php_user`: Establece el usuario que ejecuta PHP en el proceso de supervisor dentro del contenedor.

Variables de servicio de correo

Laravel Sail viene con un contenedor Mailhog para capturar correos electrónicos enviados durante el desarrollo. Estas variables configuran la configuración de correo:

- `Mail_mailer`: Establecer en` SMTP` u otro controlador de correo.
- `mail_host`: nombre de host para el servidor de correo, generalmente` mailhog`.
- `Mail_port`: puerto para SMTP, comúnmente` 1025` para Mailhog.
- `mail_username` y` mail_password`: credenciales si es necesario (comúnmente se deja en blanco en el desarrollo).

Conductores de cola y caché

El valor predeterminado de Sail `.env` puede establecer estos:

- `queue_connection`: define el controlador de cola, como` sinc`, `base de datos` o 'redis`.
- `Cache_driver`: determina el controlador de caché, a menudo` file` o `redis`.

Otras variables de entorno de servicio

- `xdebug_config`: configurado automáticamente por navegación para la depuración con xdebug, a menudo configurando` client_host = host.docker.internal` para Mac y Windows.
- `Puid` y` PGID`: ocasionalmente se ve en configuraciones de vela personalizadas para establecer explícitamente ID de usuario y grupo para la coincidencia de permisión del usuario.

Resumen de los roles variables del medio ambiente en la vela

Estas variables de entorno, principalmente definidas en el archivo `.env`, sirven para:

- Configure los conceptos básicos de la aplicación Laravel (nombre, entorno, modo de depuración, URL).
- Conecte el contenedor de la aplicación Laravel a su base de datos y servicios de caché dentro de Docker.
- Mapee los puertos desde el contenedor hasta la máquina host, evitando los conflictos de puertos locales.
- Asegure los permisos adecuados de los usuarios y grupos entre los sistemas de host y contenedores.
- Personalice los contenedores y procesos de entorno de Laravel Sail para un uso avanzado.

Las variables de entorno de archivo `.env` controlan directamente el comportamiento de los contenedores definidos en el` Docker-compose.yml` de Sail y cualquier archivo de composición extendido indicado por `sail_files`. Ajustar estas variables y reiniciar la vela (usando comandos como `./vendor/bin/sail down` y` ./vendor/bin/sail up -d`) aplica los cambios de configuración.

Esta configuración permite que Laravel Sail proporcione un entorno de desarrollo local aislado, pero configurable, que usa Docker, reflejando el comportamiento de producción donde sea práctico mientras mantiene la conveniencia y la flexibilidad del desarrollador.