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-version
  • require.php in composer.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.

Geef je agent een cloud.

Ontvang tot € 15 welkomsttegoed bij je registratie.

Doorgaan met GitHub

of met e-mail

Blijf op de hoogte.

Productnieuws, geen spam. Je kunt je altijd weer afmelden.