PHP
Rilevato da composer.json. Servito con FrankenPHP.
Guide passo passo al deploy: PHP.
Vedi Buildpackper come funzionano il rilevamento e la politica delle versioni. Un progetto che contiene anche package.json riceve Node.jsnella stessa build (Laravel + Vite).
Rilevamento
composer.json nella base directory.
Versioni
La versione predefinita è PHP 8.3. Versioni pubblicate (dati aggiornati a settembre 2026): 8.2-8.5. Ricevi l'ultima patch della versione minor richiesta.
Per fissare la versione, in quest'ordine:
.php-versionrequire.phpincomposer.json(un range sceglie la versione pubblicata più alta compatibile)
Composer è uno strumento di build. Non ne fissi la versione.
Installazione e build
composer install --no-dev --optimize-autoloader. Laravel (artisan) poi mette in cache config, route, view ed eventi, se esistono i relativi comandi Artisan. Symfony (bin/console più symfony.lock) esegue cache:warmup --env=prod.
Impostazioni predefinite all'avvio: Laravel APP_ENV=production, LOG_CHANNEL=stderr, APP_DEBUG=false. Symfony APP_ENV=prod, APP_DEBUG=0.
Comando di avvio
La document root è public/, oppure web/, oppure la root dell'app.
- Laravel Octane (il lockfile contiene
laravel/octane):php artisan octane:frankenphp --port=$PORT --host=0.0.0.0 - Altrimenti:
frankenphp php-server --listen :$PORT --root <docroot>
Puoi sovrascriverlo con un Procfile. Metti l'app in ascolto su PORT.