- Documentação
- Tecnologias
- PHP
PHP
A Guara Cloud suporta totalmente aplicacoes PHP, incluindo frameworks como Laravel, Symfony e projetos PHP puros rodando com Apache ou Nginx.
Versoes suportadas
As seguintes versoes do PHP sao detectadas automaticamente:
- PHP 8.1
- PHP 8.2
- PHP 8.3
A versao e detectada automaticamente pelo campo require.php no seu composer.json.
{
"require": {
"php": ">=8.3"
}
}
Deploy com Dockerfile
Para ter controle total sobre o build, inclua um Dockerfile na raiz do seu repositorio. Aplicacoes PHP geralmente usam Apache ou Nginx + FPM como gerenciador de processos.
Deploy com Buildpack
Se o seu repositorio nao contiver um Dockerfile, a Guara Cloud detecta automaticamente seu projeto PHP pela presenca de um arquivo composer.json ou index.php.
A deteccao automatica vai:
- Detectar a versao do PHP pelo
composer.json - Executar
composer installautomaticamente - Detectar projetos Laravel com suporte de primeira classe (cache do artisan, FrankenPHP + Caddy)
- Configurar automaticamente o Caddy como servidor web
- Iniciar a aplicacao
Configuracao de porta
Sua aplicacao PHP nao le a porta diretamente no codigo — o servidor web (Apache ou Nginx) deve ser configurado para escutar na porta configurada nas configuracoes do servico. O padrao e 3000, mas voce pode altera-lo a qualquer momento.
Para Apache, atualize seu virtual host ou use a variavel $PORT na configuracao:
Listen ${PORT}
<VirtualHost *:${PORT}>
DocumentRoot /var/www/html/public
</VirtualHost>
Para Nginx, atualize seu bloco server:
server {
listen ${PORT};
root /app/public;
index index.php;
}
Estrutura de projeto exemplo
my-php-app/
composer.json
composer.lock
public/
index.php
src/
Controllers/
Models/
Dockerfile # opcional — omita para usar Buildpack
Variaveis de ambiente
Estas variaveis de ambiente sao comumente usadas em deploys PHP:
| Variavel | Valor recomendado | Descricao |
|---|---|---|
APP_ENV | production | Define o ambiente da aplicacao (Laravel/Symfony) |
PORT | Definido pela plataforma | A porta na qual o servidor web deve escutar |
APP_KEY | Sua chave | Necessario pelo Laravel para criptografia |
APP_DEBUG | false | Desabilita o modo debug em producao |