Production и deployment
Подготовьте значения окружения, позвольте Lemonade использовать production config cache и разворачивайте только те артефакты, которые реально нужны runtime.
Production-режим начинается с окружения
Production-поведение в первую очередь задаётся APP_ENV, APP_DEBUG и значениями приложения, такими как APP_BASE_URL. development и testing загружают конфигурацию напрямую из источников. production, prod и другие не-development окружения работают как production runtime и могут использовать скомпилированный config cache.
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.comКак работает скомпилированный config cache
YAML-файлы и разрешённые значения окружения остаются источником истины. В production-режиме ConfigLoader сначала вызывает ApplicationConfigCache::loadIfFresh(). Если cache отсутствует, устарел или изменился отслеживаемый источник, фреймворк повторно загружает конфигурацию и автоматически записывает свежий cache. Отдельные команды config:cache и config:clear сейчас не нужны.
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cacheДоступные для записи runtime-каталоги
Развёрнутому приложению нужен доступ на запись в storage/ для скомпилированного config cache, логов, session и upload, если эти функции включены. Генерируемые файлы храните в storage/, не добавляйте их в commit и не считайте источником истины.
storage/cache/framework/config/
storage/logs/
storage/sessions/
storage/uploads/Практический checklist deployment
- Перед deployment: подготовьте значения окружения и secrets, разверните YAML-конфигурацию и создайте оптимизированный Composer autoload.
- Во время deployment: опубликуйте код и проверьте каталоги с правом записи в
storage/. - После deployment: позвольте первому production HTTP request или CLI command создать config cache, проверьте logging и запускайте
vendor/bin/lemonadeworkers или scheduled commands только если приложение действительно их использует. - Подробнее о runtime storage — в Инфраструктуре, о диагностике — в разделе Ошибки и отладка.
composer install --no-dev --optimize-autoloader
vendor/bin/lemonade about
# Optional when the app uses queue workers
vendor/bin/lemonade queue:install
vendor/bin/lemonade queue:work default database