PHP

Detetado a partir do composer.json. Servido com FrankenPHP.

Guias de deploy passo a passo: PHP.

Consulte Buildpackspara ver como funcionam a deteção e a política de versões. Um projeto que também tenha package.json recebe o Node.jsno mesmo build (Laravel + Vite).

Deteção

composer.json no Base directory.

Versões

A versão por omissão é o PHP 8.3. Linhas publicadas em setembro de 2026: 8.2-8.5. Recebe o patch mais recente da versão minor pedida.

Para fixar a versão, por esta ordem:

  • .php-version
  • require.php em composer.json (um intervalo escolhe a versão publicada mais alta compatível)

O próprio Composer é uma ferramenta de build. A versão do Composer não é fixada.

Instalação e build

composer install --no-dev --optimize-autoloader. Depois, o Laravel (artisan) coloca em cache a configuração, as rotas, as vistas e os eventos, se esses comandos Artisan existirem. O Symfony (bin/console mais symfony.lock) executa cache:warmup --env=prod.

Valores por omissão no arranque: Laravel APP_ENV=production, LOG_CHANNEL=stderr, APP_DEBUG=false. Symfony APP_ENV=prod, APP_DEBUG=0.

Comando de arranque

A raiz dos documentos (document root) é public/, web/ ou a raiz da aplicação.

  • Laravel Octane (o lockfile inclui laravel/octane): php artisan octane:frankenphp --port=$PORT --host=0.0.0.0
  • Caso contrário: frankenphp php-server --listen :$PORT --root <docroot>

Pode substituí-lo por um Procfile. A aplicação deve escutar em PORT.

Dê uma cloud ao seu agente.

Ganhe até 15 € de crédito ao registar-se.

Continuar com o GitHub

ou com e-mail

Fique a par das novidades.

Novidades do produto, sem spam. Pode cancelar a subscrição a qualquer momento.