Instruções de Instalação
Workerman é na verdade um pacote de código PHP. Se seu ambiente PHP já estiver configurado, você só precisa baixar o código fonte do Workerman ou o demo para executá-lo.
Instalação com Composer:
composer require workerman/workerman
Atenção
Alguns espelhos de proxy do composer podem não ter todos os pacotes, use o comandocomposer config -g --unset repos.packagistpara remover o proxy.
Usuários do Windows (leia atentamente)
A partir da versão 3.5.3 do Workerman, ele suporta tanto sistemas Windows quanto Linux.
Usuários do Windows precisam configurar a variável de ambiente PHP.
=== A partir deste ponto, as instruções se aplicam apenas ao Workerman em ambientes Linux. Usuários do Windows devem ignorar ===
Verificação do Ambiente Linux
O sistema Linux pode usar o seguinte script para testar se o ambiente PHP local atende aos requisitos para executar o Workerman.
curl -Ss https://www.workerman.net/check | php
Se o script exibir "ok" para todas as verificações, isso significa que atende aos requisitos do Workerman. Você pode ir diretamente ao site oficial para baixar os exemplos e executá-los.
Se não estiver tudo "ok", consulte a documentação abaixo para instalar as extensões ausentes.
(Observação: o script de verificação não verifica a extensão event. Se o número de conexões concorrentes do seu negócio for superior a 1024, a extensão event deve ser instalada, além de otimizar o núcleo do Linux. Consulte as instruções abaixo para instalação da extensão.)
Instalação de extensões ausentes em um ambiente PHP existente
Instalação das extensões pcntl e posix:
Sistema CentOS
Se o PHP foi instalado via yum, você pode instalar as extensões pcntl e posix executando o seguinte comando na linha de comando:
yum install php-process
Se a instalação falhar ou se o PHP não tiver sido instalado com yum, consulte o método três da manual Apêndice - Instalação de Extensões para compilar a instalação a partir do código-fonte.
Sistemas Debian/Ubuntu/macOS
Consulte o método três da manual Apêndice - Instalação de Extensões para compilar a instalação a partir do código-fonte.
Instalação da extensão event:
Para suportar um número maior de conexões concorrentes, a extensão event deve ser instalada, além de otimizar o núcleo do Linux. O método de instalação é o seguinte:
Sistema CentOS
-
Instale o pacote libevent-devel, que é uma dependência da extensão event. Execute o seguinte comando na linha de comando:
yum install libevent-devel -y # Se não conseguir instalar, tente o comando abaixo # yum install libevent2-devel -y -
Instale a extensão event. Execute o seguinte comando na linha de comando:
(a extensão event requer PHP>=5.4)pecl install eventNota: Quando aparecer a mensagem:
Include libevent OpenSSL support [yes] :digitenoe pressione Enter. Os outros prompts podem ser confirmados pressionando Enter. -
Execute
php --inipara encontrar e abrir o arquivo php.ini. No final do arquivo, adicione a seguinte configuração:extension=event.so
Instalação em sistemas Debian/Ubuntu
-
Instale o pacote libevent-dev, que é uma dependência da extensão event. Execute o seguinte comando na linha de comando:
apt-get install libevent-dev -y # Se não conseguir instalar, tente o comando abaixo # apt-get install libevent2-dev -y -
Instale a extensão event. Execute o seguinte comando na linha de comando:
pecl install eventNota: Quando aparecer a mensagem:
Include libevent OpenSSL support [yes] :digitenoe pressione Enter. Os outros prompts podem ser confirmados pressionando Enter. -
Execute
php --inipara encontrar e abrir o arquivo php.ini. No final do arquivo, adicione a seguinte configuração:extension=event.so
Tutorial de instalação para macOS
O macOS geralmente é usado como uma máquina de desenvolvimento e não precisa da extensão event.
Instalação em um sistema totalmente novo (PHP+extensões)
Tutorial de instalação para sistema CentOS
-
Execute o seguinte comando na linha de comando (este passo inclui a instalação do programa principal php-cli, bem como das bibliotecas pcntl, posix, libevent e do git):
yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y -
Instale a extensão event, executando o comando na linha de comando:
(Nota: a extensão event requer PHP>=5.4)pecl install eventNota: Quando aparecer a mensagem:
Include libevent OpenSSL support [yes] :digitenoe pressione Enter. Os outros prompts podem ser confirmados pressionando Enter. -
Execute
php --inipara encontrar e abrir o arquivo php.ini. No final do arquivo, adicione a seguinte configuração:extension=event.so -
Execute o seguinte comando na linha de comando (este passo é para baixar o programa principal do Workerman do GitHub):
git clone https://github.com/walkor/Workerman -
Consulte a seção Guia de Início Rápido - Parte de Exemplo Simples para criar o arquivo de entrada e executá-lo.
Ou baixe um demo empacotado do site oficial para executar.
Tutorial de instalação para sistemas Debian/Ubuntu
-
Execute o seguinte comando na linha de comando (este passo inclui a instalação do programa principal php-cli, da biblioteca libevent e do git):
apt-get install php-cli git gcc php-pear php-dev libevent-dev -y -
Instale a extensão event, executando o comando na linha de comando:
(Nota: a extensão event requer PHP>=5.4)pecl install eventNota: Quando aparecer a mensagem:
Include libevent OpenSSL support [yes] :digitenoe pressione Enter. Os outros prompts podem ser confirmados pressionando Enter. -
Execute
php --inipara encontrar e abrir o arquivo php.ini. No final do arquivo, adicione a seguinte configuração:extension=event.so -
Execute o seguinte comando na linha de comando (este passo é para baixar o programa principal do Workerman do GitHub):
git clone https://github.com/walkor/Workerman -
Consulte a seção Guia de Início Rápido - Parte de Exemplo Simples para criar o arquivo de entrada e executá-lo.
Ou baixe um demo empacotado do site oficial para executar.
Tutorial de instalação para macOS
Método 1: O macOS vem com o PHP Cli, mas pode faltar a extensão pcntl.
-
Consulte o método três da manual Apêndice - Instalação de Extensões para compilar e instalar a extensão
pcntl. -
Consulte o método quatro da manual Apêndice - Instalação de Extensões para instalar a extensão
eventusando o phpize (isso pode ser ignorado para uma máquina de desenvolvimento). -
Baixe o programa principal do Workerman em https://www.workerman.net/download/workermanzip ou baixe exemplos do site oficial para execução.
Método 2: Instale o PHP e as extensões correspondentes usando o comando brew.
-
Execute o seguinte comando na linha de comando para instalar a ferramenta
brew(se você já tiver instalado obrew, pode pular este passo):/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -
Execute o seguinte comando na linha de comando para instalar o
php:brew install php -
Execute o seguinte comando na linha de comando para instalar a extensão
event:brew install php-event -
Vá ao site oficial e baixe exemplos para execução.
Descrição da extensão Event
A extensão Event não é obrigatória. Quando o seu negócio precisa suportar mais de 1000 conexões concorrentes, é recomendada a instalação da extensão Event, que pode suportar um grande número de conexões concorrentes. Se o número de conexões concorrentes do seu negócio for relativamente baixo, como menos de 1000, você pode não instalar.
Perguntas Frequentes
-
Se ocorrer o erro
checking for include/event2/event.h... not found, tente primeiro remover a biblioteca libevent-dev(el) e instalar a libevent2-dev(el).
Para sistemas CentOS: yum remove libevent-devel && yum install libevent2-devel
Para sistemas Debian/Ubuntu: apt-get remove libevent-dev && apt-get install libevent2-dev -
Se ocorrer o erro
NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '.../event.so' - ..../event.so: undefined symbol: php_sockets_le_socket in Unknown on line 0.
Você deve alterar a ordem de carregamento de event.so e socket.so, ou seja, no php.ini, coloqueextension=socket.soantes deextension=event.sopara que a extensão socket seja carregada primeiro.