DevCraft Документации
Гайды

Инструкция .env v200.1.0

Переменные ROOT/.env для DLE API: DEMO_MODE, DLEAPI_SECURE и настройки для локальных тестов.

Этот гайд про файл .env в корне сайта DLE — туда кладут флаги, которые перекрывают часть настроек из админки. Без него API тоже работает, но демо-режим и маскирование полей часто настраивают именно здесь.

Настройки в DevCraft (HMAC, TTL токена, профиль) живут в dleapi.json — см. Настройки. Здесь только то, что читается из .env.

Что нужно заранее

  • Установка плагина
  • Доступ к файлу ROOT_DIR/.env (рядом с index.php сайта)

Корневой .env (сайт)

ПеременнаяЗачем
DEMO_MODEЕсли true — API «играет в демо»: credentials могут пройти проверку, но access_token не выдаётся (null). Authorize уходит с error=demo_mode. Secure включается принудительно.
DLEAPI_SECUREЕсли true — в ответах CRUD (/table/…) маскируются пароли, IP, хеши и похожие поля.

Пример для разработки (нужны настоящие токены):

DEMO_MODE=false
DLEAPI_SECURE=false

Пример для продакшена:

DEMO_MODE=false
DLEAPI_SECURE=true

Почему токен пустой?

Если Postman или curl вернули access_token: null, а логин/ключ верные — почти всегда виноват DEMO_MODE=true. Поставьте false и перезапустите PHP (если кешируете env).

Как это стыкуется с админкой

ОткудаЧто задаёт
DevCraft → Настройки → «Маскировать чувствительные поля»Базовый флаг secure в dleapi.json
DLEAPI_SECURE=trueВключает маскирование даже если в админке выключили
DEMO_MODE=trueВсегда secure + не выдаёт access_token

Подробный чеклист продакшена: Безопасность. Пропуск Bearer и /me: Авторизация.

.env / phpunit для интеграционных тестов

Отдельно от корневого сайта тесты API могут читать переменные окружения (часто через api/phpunit.xml или api/.env):

ПеременнаяЗачем
API_BASE_URLБаза до v2, напр. http://dle200.test/api/v2
API_KEYСырой ключ из DevCraft (для обмена на токен в тестах)
OAUTH_CLIENT_IDclient_id тестового OAuth-клиента

Эти переменные не заменяют DEMO_MODE / DLEAPI_SECURE на живом сайте — они только для PHPUnit.

См. также

На этой странице