Princípios de Programação
Sistemas Operacionais
O Webman suporta a execução tanto em sistemas Linux quanto em sistemas Windows. No entanto, como o Workerman não suporta configuração de múltiplos processos e processos em segundo plano no Windows, o uso do Windows é recomendado apenas para desenvolvimento e depuração. Para ambientes de produção, recomenda-se utilizar sistemas Linux.
Modo de Inicialização
Sistema Linux
php start.php start
Este comando é para o modo de depuração, geralmente utilizado durante o desenvolvimento. O processo monitor de atualização de arquivos detectará automaticamente mudanças e fará reload. Ao imprimir dados, as informações serão exibidas no terminal, e ao fechar o terminal, o Webman será fechado automaticamente.
php start.php start -d
Este comando é para o modo de processo em segundo plano, utilizado em ambientes de produção. Após fechar o terminal, o Webman continuará a executar, e a impressão de dados não será exibida no terminal. Para atualizar o código, é necessário executar php start.php reload
ou php start.php restart -d
.
Sistema Windows
Execute windows.bat
ou utilize o comando php windows.php
para iniciar, pressionando ctrl c para parar.
O sistema Windows não suporta os comandos stop, reload, status, reload connections, entre outros.
Windows não suporta o modo de processo em segundo plano.
Residência na Memória
O Webman é um framework que permanece na memória. Geralmente, após o carregamento do arquivo PHP, o mesmo permanece na memória em forma de opcode, não sendo lido novamente do disco (exceto arquivos de template). Portanto, após alterações no código do negócio ou na configuração em um ambiente de produção, é necessário executar php start.php reload
para que as mudanças entrem em vigor. Se houver uma alteração relacionada ao processo ou a instalação de novos pacotes Composer, será necessário reiniciar com php start.php restart
.
Para facilitar o desenvolvimento, o Webman vem com um processo monitor personalizado para monitorar atualizações de arquivos de negócio. Quando há atualizações em arquivos de negócios, o reload será executado automaticamente.
Essa funcionalidade é habilitada apenas quando o Workerman está rodando em modo de depuração (sem adicionar-d
ao inicializar). Usuários do Windows precisam executarwindows.bat
ouphp windows.php
para habilitá-la.
Sobre Instruções de Saída
Em projetos tradicionais com PHP-FPM, funções como echo
e var_dump
exibem dados diretamente na página. No entanto, durante o desenvolvimento com Webman (quando inicializado em modo de depuração), essas saídas geralmente são mostradas no terminal e não aparecem na página (exceto as saídas em arquivos de template).
Não Execute exit
ou die
Executar die
ou exit
fará com que o processo seja encerrado e reiniciado, resultando na incapacidade de responder corretamente à requisição atual.
Não Execute a Função pcntl_fork
pcntl_fork
é utilizado para criar um processo, o que não é permitido no Webman.
Instalação de Componentes com Composer
Componentes instalados com composer require xxx/xxx
necessitam de um restart para que as alterações entrem em vigor.