Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Які загальні змінні середовища, що використовуються на вітрилі Laravel


Які загальні змінні середовища, що використовуються на вітрилі Laravel


Laravel Sail, середовище розвитку для Laravel за допомогою Docker, значною мірою покладається на змінні середовища, визначені головним чином у файлі `.env` у корені проекту. Ці змінні середовища налаштовують додаток та його послуги, що дозволяє безперешкодно оркеструвати контейнери та налаштування налаштувань, придатних для місцевого розвитку.

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

Змінні конфігурації програми

- `app_name`: Визначає назву програми Laravel.
- `app_env`: встановлює тип середовища, зазвичай` local` для вітрила.
- `app_key`: клавіша шифрування Base64, що використовується 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

Sail необов'язково підтримує Redis для кешування або обробки сеансів. Ці змінні налаштовують підключення Redis:

- `redis_host`: Ім'я хоста для сервера Redis, часто` redis`, щоб відповідати контейнеру Redis.
- `redis_password`: пароль для Redis, якщо такий є.
- `redis_port`: port redis слухає, часто` 6379`.

Змінні переадресації портів

Щоб уникнути конфліктів із послугами, які вже працюють на загальних портах у хост -системі, Sail дозволяє налаштувати пересилані порти для своїх послуг:

- `Forter_db_port`: локальний порт машини, що пересил на стандартний порт 3306 MySQL у контейнері (наприклад, ви можете встановити це, якщо порт 3306 буде зайнятий).
- `Forward_redis_port`: Локальний порт переадресований на порт 6379 за замовчуванням.
- `Forter_Mailhog_port`: Місцевий порт пересил на порт служби Mailhog, як правило, використовується для тестування електронної пошти.
- Існують інші змінні `Forward_*` для таких служб, як Phpmyadmin або інші служби вітрила, якщо налаштовані.

Змінні користувача контейнера та дозволи

Sail запускає контейнери за допомогою користувача, який відповідає локальному користувачеві хоста, щоб переконатися, що дозволи файлів залишаються послідовними між хостом та контейнером. Ці змінні контролюють ідентифікатори користувача:

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

змінні налаштування вітрила

- `app_service`: дозволяє змінювати первинне ім'я контейнера служби програми Laravel всередині` docker-compose.yml`. Це може бути корисно для розширених конфігурацій.
- `Sail_files`: Дозволяє вказати додаткові файли для переповнення Docker Compose, що підлягають завантаженню поряд із стандартними файлами вітрила. Це для налаштування або розширення вітрильного середовища.
- `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`, `база даних 'або` redis`.
- `cache_driver`: визначає драйвер кешу, часто` file` або `redis`.

Інші змінні середовища обслуговування

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

Підсумок змінних ролей навколишнього середовища в Sail

Ці змінні середовища, в основному визначені у файлі `.env`, служать:

- Налаштуйте основи програми Laravel (ім'я, середовище, режим налагодження, URL -адреса).
- Підключіть контейнер програми Laravel до своєї бази даних та кеш -служб всередині Docker.
- Порти карт від контейнера до хост -машини, уникаючи конфліктів місцевих портів.
- Забезпечити належні дозволи користувача та групи між системами хостів та контейнерів.
- Налаштуйте контейнери та процеси Laravel вітрила для розширеного використання.

Змінні файлового середовища `.env` безпосередньо контролюють поведінку контейнерів, визначених у Docker-compose.yml`, і будь-яких розширених файлів композиції, зазначених` sail_files`. Регулювання цих змінних та перезапуск вітрила (використовуючи такі команди, як `./vendor/bin/sail Down` та` ./vendor/bin/sail up -d`), застосовує зміни конфігурації.

Ця установка дозволяє Laravel Sail забезпечити ізольоване, але налаштоване місцеве середовище розвитку, використовуючи Docker, відображає виробничу поведінку, де б практично підтримуючи зручність та гнучкість розробника.