Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Какие переменные общей среды используются в плавании Laravel


Какие переменные общей среды используются в плавании Laravel


Laravel Sail, среда разработки для Laravel с использованием Docker, в значительной степени зависит от переменных среды, определенных в основном в файле .Env` в корне проекта. Эти переменные среды настраивают приложение и его сервисы, обеспечивая бесшовную оркестровку контейнеров и настройку настроек, подходящих для локальной разработки.

Общие переменные среды, используемые в Laravel Sail, могут быть сгруппированы в соответствии с их целью: Конфигурация приложения, конфигурация базы данных, порты службы и привязки, настройки пользователя контейнеров и специфичные для паруса настройки.

переменные конфигурации приложения

- `app_name`: определяет имя приложения Laravel.
- `app_env`: устанавливает тип среды, обычно« локальный »для паруса.
- `app_key`: базовый 64-кодированный ключ шифрования, используемый Laravel для шифрования и безопасности сеанса.
- `app_debug`: логический флаг, чтобы включить подробные сообщения об ошибках и функции отладки (` true` или `false`).
- `app_url`: URL, где приложение доступно локально, часто устанавливается на` http: // localhost`.

Переменные подключения к базе данных

Чтобы организовать контейнер с базой данных (`` mysql` service), SAIL использует переменные, которые определяют соединение с контейнером базы данных MySQL:

- `db_connection`: указывает драйвер базы данных, как правило,` mysql`.
- `db_host`: имя хоста для сервера базы данных, обычно имя контейнера MySQL, например,` mysql`.
- `db_port`: порт по умолчанию для подключения MySQL, обычно` 3306`.
- `db_database`: имя базы данных, используемой внутри контейнера.
- `db_username`: имя пользователя для доступа к базе данных.
- `db_password`: пароль для пользователя базы данных.

Redis Configuration

Парус необязательно поддерживает Redis для кэширования или обработки сеансов. Эти переменные настраивают подключение Redis:

- `redis_host`: имя хоста для сервера Redis, часто` redis`, чтобы соответствовать контейнеру Redis.
- `redis_password`: пароль для Redis, если таковые имеются.
- `redis_port`: Порт -Редис слушает, часто` 6379`.

Переадресация сервисного порта

Чтобы избежать конфликтов с услугами, уже работающими на общих портах в хост -системе, SAIL позволяет настраивать перенаправленные порты для своих услуг:

- `forward_db_port`: порт локального машины, перенаправленный в стандартный порт 3306 MySQL в контейнере (например, вы можете установить его, если занят порт 3306).
- `forward_redis_port`: локальный порт, перенаправленный в порт Redis по умолчанию 6379.
- `forward_mailhog_port`: локальный порт, перенаправленный в порт обслуживания Mailhog, обычно используемый для тестирования по электронной почте.
- Другие переменные `forward_*` существуют для таких служб, как PhpmyAdmin или другие службы паруса, если они настроены.

Пользовательский пользователь и переменные разрешений

SAIL запускает контейнеры, используя пользователя, который соответствует локальному пользователю хоста, чтобы гарантировать, что разрешения файла остаются согласованными между хостом и контейнером. Эти переменные управляют идентификаторами пользователя:

- `wwwuser`: устанавливает идентификатор пользователя в контейнере, который соответствует идентификатору пользователя хост -машины, обеспечивая совпадение разрешений на файлы.
- `wwwgroup`: устанавливает идентификатор группы внутри контейнера, чтобы соответствовать хосту.

переменные настройки паруса

- `app_service`: позволяет изменить основное название контейнера службы приложения Laravel в` docker-compose.yml`. Это может быть полезно для расширенных конфигураций.
- `SAIL_FILES`: позволяет указать дополнительные Docker Compose Replide Files, которые будут загружены вместе со стандартными файлами SAIL. Это для настройки или расширения среды паруса.
- `Supervisor_php_command`: используется для настройки команды запуска PHP внутри основного контейнера для паруса Laravel, полезно при интеграции таких инструментов, как Laravel Octane.
- `supervisor_php_user`: устанавливает пользователя, который запускает PHP в процессе супервизора внутри контейнера.

переменные почтовой службы

Laravel Sail поставляется с контейнером Mailhog для захвата электронных писем, отправленных во время разработки. Эти переменные настраивают настройки почты:

- `mail_mailer`: установить на` smtp` или другой драйвер почты.
- `mail_host`: имя хоста для почтового сервера, обычно` mailhog '.
- `mail_port`: порт для SMTP, обычно` 1025` для MailHog.
- `mail_username` и` mail_password`: учетные данные при необходимости (обычно оставляют пустым в разработке).

Драйверы очереди и кеша

По умолчанию паруса `.env` может установить их:

- `queue_connection`: определяет драйвер очереди, например,` sync ', `database` или` redis`.
- `cache_driver`: определяет драйвер кэша, часто` file` или `redis`.

Другие переменные среды обслуживания

- `xdebug_config`: настроен автоматически путем паруса для отладки с помощью xdebug, часто устанавливая` client_host = host.docker.internal` для Mac и Windows.
- `puid` и` pgid`: иногда можно увидеть в пользовательских конфигурациях паруса, чтобы явно установить идентификаторы пользователя и группы для соответствия пользователя.

Сводка ролей переменной окружающей среды в парусе

Эти переменные среды, в основном определяемые в файле `.env`, служат:

- Настройте основы приложения Laravel (имя, среда, режим отладки, URL).
- Подключите контейнер приложения Laravel к службам базы данных и кеша в Docker.
- Карта портов из контейнера до хост -машины, избегая локальных конфликтов портов.
- Убедитесь, что правильные разрешения пользователя и группы между системами хоста и контейнеров.
- Настройте контейнеры и процессы среды Laravel Sail для расширенного использования.

Переменные файла `.env` file непосредственно контролируют поведение контейнеров, определенных в Sail's Docker-compose.yml` и любых расширенных файлах состава, указанных` sail_files '. Регулировка этих переменных и перезапуск паруса (с использованием таких команд, как `./vendor/bin/sail down` и` ./vendor/bin/sail up -d`) применяет изменения конфигурации.

Эта настройка позволяет Laravel Pail для обеспечения изолированной, но настраиваемой, локальной среды разработки с использованием Docker, отражая производственное поведение, где бы ни было практично, сохраняя удобство и гибкость разработчика.