PHP
Herkend aan composer.json. Uitgeleverd met FrankenPHP.
Stapsgewijze deployhandleidingen: PHP.
Zie Buildpacksvoor hoe detectie en het versiebeleid werken. Een project dat ook een package.json heeft, krijgt Node.jsin dezelfde build (Laravel + Vite).
Detectie
composer.json in de Base directory.
Versies
Standaard is PHP 8.3. Gepubliceerde versielijnen per september 2026: 8.2-8.5. Je krijgt de nieuwste patchversie binnen de gevraagde minorversie.
Vastzetten, in deze volgorde:
.php-versionrequire.phpincomposer.json(een range kiest de hoogste gepubliceerde versie die past)
Composer is een buildtool waarvan je de versie niet vastzet.
Installatie en build
composer install --no-dev --optimize-autoloader. Daarna zet Laravel (artisan) configuratie, routes, views en events in de cache, als die Artisan-commando's bestaan. Symfony (bin/console plus symfony.lock) voert cache:warmup --env=prod uit.
Standaardwaarden bij de start: Laravel APP_ENV=production, LOG_CHANNEL=stderr, APP_DEBUG=false. Symfony APP_ENV=prod, APP_DEBUG=0.
Startcommando
De documentroot is public/, of web/, of de root van de app.
- Laravel Octane (de lockfile bevat
laravel/octane):php artisan octane:frankenphp --port=$PORT --host=0.0.0.0 - Anders:
frankenphp php-server --listen :$PORT --root <docroot>
Overschrijf het met een Procfile. Je app moet luisteren op PORT.