Guia de Configuração Múltipla do ServBay: Gerenciamento de Versão do PHP na Linha de Comando e em Serviços Web
I. Ambiente de Linha de Comando: Aplicação Profunda do .servbay.config
Por meio do arquivo de configuração em nível de projeto .servbay.config
, os desenvolvedores podem controlar com precisão a versão do PHP no ambiente de linha de comando, possibilitando o desenvolvimento paralelo de múltiplos projetos e o isolamento de versões.
1. Funcionalidades Principais e Princípios
• Convivência de Múltiplas Versões: O ServBay suporta nativamente a coexistência de todas as versões de PHP 5.6 até 8.5-dev, onde cada projeto pode especificar a versão necessária através de um arquivo de configuração independente.
• Troca Não Intrusiva: Ao executar comandos, o ServBay identifica automaticamente o .servbay.config
no diretório do projeto, carregando dinamicamente o ambiente PHP correspondente e evitando conflitos de configuração global.
2. Método de Configuração
Crie um arquivo .servbay.config
no diretório raiz do projeto e adicione o seguinte conteúdo:
# Especifica a versão do PHP (exemplo: PHP 8.5-dev)
PHP_VERSION=8.5
2
Verificação de Ativação:
$ php -v # A versão exibida deve ser 8.5
$ composer install # A resolução de dependências é baseada na versão PHP atual
2
3. Dicas Avançadas e Limitações
• Verificação de Compatibilidade de Versões: Se ocorrerem erros como "Class not found", é necessário verificar a compatibilidade do pacote de dependência com a versão PHP especificada (por exemplo, a extensão mcrypt
removida no PHP 8.x).
• Valor Padrão Global: Quando não configurado, o ServBay utiliza a versão padrão global (que pode ser alterada nas configurações
do ServBay).
• Colaboração de Múltiplos Serviços: Combine a configuração da versão do Node.js (NODE_VERSION=20
) para controle simultâneo de ambientes PHP e Node.js.
4. Exemplos de Execução
Abaixo, um exemplo prático do funcionamento do .servbay.config
.
II. Ambiente de Serviços Web: Gerenciamento de Versões PHP em Nível de Site
A interface de configuração gráfica do ServBay oferece a capacidade de gerenciar a versão do PHP para serviços web, de forma independente do ambiente de linha de comando.
1. Fluxo de Configuração
Adicionar/Editar Site:
• Abra o ServBay e vá para a aba Hosts (Sites).
• Clique em + para criar um novo site ou editar um existente.
• No menu suspenso PHP Version, escolha a versão desejada (como 8.3, 8.5-dev, etc.).Vinculação de Caminhos e Domínios:
• Root Directory: Especifique o diretório público do projeto (por exemplo, o/Applications/ServBay/www/laravel-app/public
do Laravel).
• Domain: Configure um domínio personalizado (comolaravel.host
), com suporte a emissão automática de HTTPS.
2. Implementação Técnica e Otimização
• Isolamento de Serviços: Cada versão do PHP é executada em um processo separado, evitando vazamentos de memória entre versões.
• Otimização de Desempenho: Ajustados para arquiteturas ARM64/X86_64.
• Diagnóstico de Erros:
• Verifique os logs: /Applications/ServBay/var/log/php/php_error.log
• Use servbayctl status php 8.5
para ver o status dos processos.
3. Expansão de Múltiplos Servidores
• Suporte a Apache/Nginx/Caddy: Em ServBay 1.7.0+ é possível alternar entre servidores web.
• Interação com Banco de Dados: Integração com múltiplas versões do MySQL/MariaDB/PostgreSQL (por exemplo, adaptação de projetos Laravel para MariaDB 11.5).
III. Melhores Práticas de Colaboração Interambiental
Cenário | Configuração de Linha de Comando | Configuração de Serviços Web | |
---|---|---|---|
Manutenção de Sistemas Legados | .servbay.config definindo PHP 5.6 | Configuração do site para PHP 5.6 | |
Desenvolvimento do Laravel 11 | Configurando PHP 8.3 + Node 20 | Vinculando domínio e ativando HTTPS | |
Teste de Novas Versões | Usando PHP 8.5-dev | Otimização de cache com Redis 7.x |
Observações:
• Pode haver diferenças entre os módulos PHP da linha de comando e do serviço web (como o opcache
desativado por padrão no modo CLI).
• Atualize o ServBay Runtime para 1.0.20/1.1.20+ para obter os últimos recursos do PHP.
Com a gestão em cenários detalhados acima, os desenvolvedores podem aproveitar ao máximo a capacidade de controle de múltiplas versões do ServBay, equilibrando a flexibilidade do desenvolvimento com a consistência do ambiente de produção.