Яндекс.Метрика
Москва, Волгоградский пр-т,
43к3, оф. 301
Пишите 24/7, мы онлайн
+7 (495) 128-00-14
последнее обновление: 17.12.2025

Определение: .env — это файл с переменными окружения проекта, где обычно хранят конфиденциальные настройки: ключи API, пароли, токены, доступы к базе данных и почте. Приложение читает эти значения при запуске, чтобы не держать секреты прямо в коде.

Зачем это нужно

  • Отделяет секреты и настройки от репозитория с кодом (меньше риск случайной утечки).
  • Упрощает перенос сайта между окружениями: dev / staging / production — разные значения, один код.
  • Позволяет быстро менять параметры без правок файлов приложения (например, домен, режим отладки, SMTP).
  • Помогает ограничить доступ: разработчики видят код, но не обязаны видеть продакшн-ключи.
  • Снижает вероятность «положить» сайт из-за неверной конфигурации при обновлениях.

Пример

Пример кода:

# .env (пример содержимого)
APP_ENV=production
APP_DEBUG=false
APP_URL=https://example.ru

DB_HOST=localhost
DB_NAME=site_db
DB_USER=site_user
DB_PASSWORD=strong_password

SMTP_HOST=smtp.example.ru
SMTP_USER=mailer@example.ru
SMTP_PASSWORD=mailer_password

Важно: сам файл .env не должен быть доступен из браузера и обычно не должен попадать в публичный репозиторий. Доступ к нему нужен только серверу и администратору.

Скриншот

Настройки проекта или файловый менеджер/SSH: рядом с кодом виден файл .env, а доступ к нему ограничен; отдельно показано правило исключения .env из публичной зоны или запрета выдачи веб-сервером

Подпись к скриншоту: показать, где лежит .env (вне публичной папки сайта или с запретом раздачи веб-сервером) и что он не попадает в публичный доступ.

Частые ошибки

  • Случайно коммитить .env в репозиторий (особенно публичный) и «светить» ключи и пароли.
  • Хранить .env в публичной директории сайта без запрета на выдачу — его могут скачать.
  • Включать отладку в продакшене через переменные (например, APP_DEBUG=true) и раскрывать технические детали.
  • Использовать одинаковые секреты для dev и production — при утечке страдают все окружения.
  • Давать слишком широкие права на файл (чтобы его мог читать/менять кто угодно на сервере).

Связанные термины

  • Переменные окружения
  • Секреты (API keys, токены)
  • Права на файлы
  • Gitignore
  • Конфигурация
  • Деплой

Наши услуги