PHP

Se detecta por composer.json. Se sirve con FrankenPHP.

Guías de despliegue paso a paso: PHP.

Consulta Buildpackspara ver cómo funcionan la detección y la política de versiones. Si el proyecto también tiene package.json, recibe Node.jsen la misma build (Laravel + Vite).

Detección

composer.json en el directorio base.

Versiones

La versión por defecto es PHP 8.3. Ramas publicadas a septiembre de 2026: 8.2-8.5. Recibes el último parche de la versión minor solicitada.

Para fijar la versión, por este orden:

  • .php-version
  • require.php en composer.json (un rango elige la versión publicada más alta que encaje)

Composer es una herramienta de build. No puedes fijar su versión.

Instalación y build

composer install --no-dev --optimize-autoloader. Después, Laravel (artisan) cachea config, rutas, vistas y eventos si existen esos comandos de Artisan. Symfony (bin/console más symfony.lock) ejecuta cache:warmup --env=prod.

Valores por defecto al arrancar: Laravel APP_ENV=production, LOG_CHANNEL=stderr, APP_DEBUG=false. Symfony APP_ENV=prod, APP_DEBUG=0.

Comando de inicio

La raíz de documentos es public/, o web/, o la raíz de la app.

  • Laravel Octane (el lockfile incluye laravel/octane): php artisan octane:frankenphp --port=$PORT --host=0.0.0.0
  • En los demás casos: frankenphp php-server --listen :$PORT --root <docroot>

Puedes sobrescribirlo con un Procfile. Tu app debe escuchar en PORT.

Dale a tu agente un cloud.

Hasta 15 € de crédito al registrarte.

Continuar con GitHub

o con tu email

Mantente al día.

Novedades del producto, sin spam. Puedes darte de baja cuando quieras.