Skip to main content

Aan de slag

Wanneer je een Laravel-applicatie naar een productieomgeving deployt, moet je die zo voorbereiden dat hij zo efficiënt mogelijk draait. Deze gids behandelt de belangrijkste punten om je productiedeploy betrouwbaar uit te voeren.

Deployflow

Serververeisten

Het Laravel-framework heeft de volgende systeemvereisten. Je hebt PHP 8.3 of hoger nodig, plus de onderstaande PHP-extensies.

Serverconfiguratie

Nginx

Als je Nginx gebruikt, neem dan het volgende configuratiebestand als basis. Het is belangrijk dat alle requests worden doorgestuurd naar public/index.php. Verplaats index.php niet naar de projectroot: vertrouwelijke configuratiebestanden zouden dan publiek toegankelijk worden.

FrankenPHP

FrankenPHP is een moderne PHP-applicatieserver geschreven in Go. Met alleen het volgende commando start je een Laravel-applicatie:
Voor geavanceerde functies zoals HTTP/3, moderne compressie, integratie met Laravel Octane en standalone binaries, zie de Laravel-documentatie van FrankenPHP.

Maprechten

Laravel moet kunnen schrijven naar de mappen bootstrap/cache en storage. Stel de rechten zo in dat de proceseigenaar van de webserver naar deze mappen kan schrijven.

Optimalisatie

Bij het deployen naar productie verbeter je de prestaties door configuratie, events, routes en views te cachen. Met het commando optimize cache je alles in één keer.
Gebruik optimize:clear om de cache te verwijderen.

Individuele optimalisatiecommando’s

optimize voert de volgende commando’s gebundeld uit. Je kunt ze indien nodig ook afzonderlijk uitvoeren.
Nadat je config:cache hebt uitgevoerd, mag je de env()-functie alleen nog binnen configuratiebestanden aanroepen. Na het cachen wordt het .env-bestand niet meer geladen; als je env() buiten configuratiebestanden aanroept, krijg je null terug.

Services herladen

Na het deployen van een nieuwe versie moeten langlopende services zoals queue-workers, Laravel Reverb en Laravel Octane opnieuw worden gestart om de nieuwe code te gebruiken.
Dit commando beëindigt de herlaadbare services. Zorg dat een procesmonitor (zoals Supervisor) ze automatisch opnieuw opstart.
Als je Laravel Cloud gebruikt, wordt het gracieus herladen van alle services automatisch afgehandeld en heb je het reload-commando niet nodig.

Debugmodus

De debug-optie in config/app.php bepaalt hoeveel foutinformatie aan gebruikers wordt getoond. Standaard wordt de waarde van de omgevingsvariabele APP_DEBUG uit het .env-bestand gebruikt.
Zet APP_DEBUG in productie altijd op false. Als je met APP_DEBUG=true in productie draait, loop je het risico dat vertrouwelijke configuratiewaarden zoals databaseverbindingsgegevens en geheime sleutels aan eindgebruikers worden blootgesteld.

Healthcheck-route

Laravel heeft een ingebouwde healthcheck-route om de status van je applicatie te monitoren. Je kunt deze koppelen aan uptime-monitors, loadbalancers en orkestratiesystemen zoals Kubernetes. Standaard is er een /up-endpoint dat 200 teruggeeft als de applicatie correct is opgestart, en 500 als er tijdens het opstarten een exception is opgetreden. Je kunt de URI aanpassen in bootstrap/app.php:
Bij een request naar deze route wordt het event Illuminate\Foundation\Events\DiagnosingHealth afgevuurd, zodat je in een listener aanvullende controles op de database of cache kunt implementeren.

Deployen met Laravel Cloud of Forge

Laravel Cloud

Zoek je een volledig managed, automatisch schalend deployplatform, dan is Laravel Cloud een aanrader. Het is een voor Laravel geoptimaliseerd PaaS dat managed compute, databases, caches en objectopslag biedt. Het wordt rechtstreeks door het Laravel-ontwikkelteam getuned en werkt naadloos samen met het framework.

Laravel Forge

Wil je zelf je servers beheren, maar geen tijd steken in het opzetten van services zoals Nginx en MySQL, dan is Laravel Forge handig. Het maakt servers aan bij grote cloudproviders zoals DigitalOcean, Linode en AWS, en installeert en beheert automatisch tools zoals Nginx, MySQL, Redis, Memcached en Beanstalk.

Volgende stappen

Deployment — officiële documentatie

In de officiële documentatie vind je de details van de nieuwste deployconfiguratie.
Laatst gewijzigd op 6 september 2026