Producción y despliegue
Prepara los valores de entorno, deja que Lemonade use su config cache de producción y despliega solo los artefactos que el runtime necesita.
El modo producción empieza en el entorno
El comportamiento de producción depende principalmente de APP_ENV, APP_DEBUG y valores de aplicación como APP_BASE_URL. development y testing cargan configuración directamente desde las fuentes. production, prod y otros entornos no orientados al desarrollo se comportan como runtimes de producción y pueden usar la config cache compilada.
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.comCómo funciona la config cache compilada
Los archivos YAML y los valores de entorno resueltos siguen siendo la fuente de verdad. En modo producción, ConfigLoader primero intenta ApplicationConfigCache::loadIfFresh(). Si la cache no existe, está desactualizada o ha cambiado una fuente monitorizada, el framework vuelve a cargar la configuración y escribe una cache nueva automáticamente. Actualmente no hacen falta comandos separados config:cache ni config:clear.
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cacheDirectorios de runtime con escritura
Una aplicación desplegada necesita poder escribir en storage/ para la config cache compilada, logs, sesiones y uploads cuando esas funciones están activas. Mantén los archivos generados bajo storage/, no los incluyas en commits y no los trates como fuente de verdad.
storage/cache/framework/config/
storage/logs/
storage/sessions/
storage/uploads/Checklist práctico de despliegue
- Antes del despliegue: prepara valores de entorno y secrets, despliega la configuración YAML y genera un autoloader de Composer optimizado.
- Durante el despliegue: publica el código y verifica los directorios escribibles bajo
storage/. - Después del despliegue: deja que el primer request HTTP de producción o comando CLI cree la config cache, verifica el logging y ejecuta workers
vendor/bin/lemonadeo comandos programados solo si la aplicación realmente los usa. - Consulta Infraestructura para el storage de runtime y Errores y depuración para el diagnóstico.
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