Файл настроек .env
Пример рабочего файла с пояснениями и правило: что правится в файле, а что только в панели управления.
На этой странице
Файл .env лежит в корне магазина и хранит то, что связывает копию магазина с
сервером: адрес сайта, доступ к базе данных, ключ шифрования. Всё остальное —
названия, валюты, доставка, оплата, почта, оформление — настраивается в панели
управления и в этот файл не попадает.
Правило простое: если настройку видно в панели управления, правьте её там. Значение из панели старше значения из файла, и правка файла ничего не изменит, зато собьёт с толку следующего человека.
Пример рабочего файла
Установщик создаёт такой файл сам. Здесь он приведён с пояснениями — на случай, когда магазин переносят на другой сервер или меняют домен.
APP_NAME="Мой магазин"
APP_ENV=production
APP_KEY=base64:… # создаётся при установке, менять нельзя
APP_DEBUG=false
APP_URL=https://example.com
APP_LOCALE=ru # язык панели управления по умолчанию
APP_FALLBACK_LOCALE=en
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=cartix
DB_USERNAME=cartix
DB_PASSWORD=пароль
SESSION_DRIVER=database
CACHE_STORE=database
QUEUE_CONNECTION=database
FILESYSTEM_DISK=local
Что здесь важно:
APP_KEY— ключ шифрования. Им зашифрованы пароли к платёжным системам, доступы к службам доставки и настройки хранилищ. Замените ключ — и магазин перестанет их читать, восстановить будет нечем. При переносе на другой сервер везите файл.envвместе с базой.APP_DEBUGна работающем магазине всегдаfalse. Приtrueпосетитель в случае ошибки увидит кусок кода и настройки сервера.APP_URLдолжен совпадать с адресом сайта, включаяhttps. От него строятся ссылки в письмах покупателям и обратные адреса платёжных систем.QUEUE_CONNECTION=database— очередь задач хранится в базе. Это рабочее значение для обычного хостинга; менять его без нужды не стоит.
Настройки самого магазина
Их немного, и почти все нужны в редких случаях.
| Строка | Что делает |
|---|---|
CARTIX_SPAWN_PROCESSES=false |
запретить магазину запускать отдельные программы — для хостингов, где это не работает |
CARTIX_UPDATE_CHANNEL=beta |
получать предварительные версии раньше остальных |
CARTIX_LICENSE_GRACE_DAYS=21 |
сколько дней магазин живёт по последней успешной проверке лицензии, если наш сайт недоступен |
CARTIX_INSTALLER_MAX_UPLOAD_MB=64 |
предел на архив дополнения, устанавливаемого из файла |
CARTIX_DEMO_TIMEOUT=600 |
сколько ждать загрузку демонстрационных товаров, секунд |
Почта
Почтовый ящик, от которого уходят письма покупателям, настраивается только в
панели управления: «Настройки» → «Каналы связи» → «Почта». Там же можно
отправить пробное письмо. Строки MAIL_* в файле настроек магазин не использует —
он собирает подключение из настроек канала при каждой отправке.
Сделано так намеренно: почтовый ящик меняют чаще, чем что-либо ещё, и владелец не должен ради этого лезть в файлы на сервере.
После правки файла
Магазин запоминает настройки, поэтому изменения в .env применяются не сразу.
Выполните в папке магазина:
php artisan optimize:clear
Или, если консоли нет, нажмите «Очистить кеш» в разделе «Системный» → «Обслуживание».
Если на сервере включён OPcache, после правки кода (не настроек) может понадобиться перезапуск PHP-FPM — иначе сервер продолжит выполнять прежнюю версию файлов.
Чего в файле быть не должно
- Резервных копий рядом. Файл
.env.backupили.env.oldв корне сайта веб-сервер может отдать по прямой ссылке вместе со всеми паролями. Храните копии вне папки сайта. - Доступов, которые уже не нужны. Оставленный ключ от старой платёжной системы — это доступ, который никто не отзывал.