Produktion & Deployment
Bereite Umgebungswerte vor, nutze Lemonades produktiven Config-Cache und deploye nur die Artefakte, die die Runtime tatsächlich braucht.
Produktionsmodus beginnt mit der Umgebung
Das Produktionsverhalten wird vor allem von APP_ENV, APP_DEBUG und Anwendungswerten wie APP_BASE_URL gesteuert. development und testing laden Konfiguration direkt aus den Quellen. production, prod und andere nicht entwicklungsbezogene Umgebungen verhalten sich wie Produktions-Runtimes und können den kompilierten Config-Cache verwenden.
APP_ENV=production
APP_DEBUG=0
APP_BASE_URL=https://example.comSo funktioniert der kompilierte Config-Cache
YAML-Dateien und aufgelöste Umgebungswerte bleiben die Quelle der Wahrheit. Im Produktionsmodus versucht ConfigLoader zuerst ApplicationConfigCache::loadIfFresh(). Fehlt der Cache, ist er veraltet oder hat sich eine überwachte Quelle geändert, lädt das Framework die Konfiguration neu und schreibt automatisch einen frischen Cache. Separate Befehle config:cache und config:clear sind derzeit nicht nötig.
production HTTP request or CLI command
-> ConfigLoader::loadApplication(...)
-> ApplicationConfigCache::loadIfFresh(...)
-> on cache miss: load source config and write a fresh compiled cacheBeschreibbare Runtime-Verzeichnisse
Eine deployte Anwendung braucht Schreibzugriff unter storage/ für den kompilierten Config-Cache, Logs, Sessions und Uploads, sofern diese Features aktiv sind. Generierte Dateien bleiben unter storage/, werden nicht committed und gelten nicht als Quelle der Wahrheit.
storage/cache/framework/config/
storage/logs/
storage/sessions/
storage/uploads/Praktische Lemonade-Deployment-Checkliste
- Vor dem Deployment: Umgebungswerte und Secrets vorbereiten, YAML-Konfiguration ausliefern und einen optimierten Composer-Autoloader erzeugen.
- Während des Deployments: Code veröffentlichen und beschreibbare Verzeichnisse unter
storage/prüfen. - Nach dem Deployment: Den ersten produktiven HTTP-Request oder CLI-Befehl den Config-Cache erzeugen lassen, Logging prüfen und
vendor/bin/lemonade-Worker oder geplante Befehle nur starten, wenn die Anwendung sie tatsächlich verwendet. - Details zum Runtime-Speicher findest du unter Infrastruktur, Diagnosen unter Fehler & Debugging.
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