Instrucciones de instalación
Workerman es en realidad un paquete de código PHP. Si tu entorno PHP ya está instalado, solo necesitas descargar el código fuente de Workerman o el demo para ejecutarlo.
Instalación con Composer:
composer require workerman/workerman
Nota
Algunos mirrors de composer no están completos, usa el comandocomposer config -g --unset repos.packagistpara eliminar el proxy.
Usuarios de Windows (lectura obligatoria)
A partir de la versión 3.5.3 de Workerman, este ya puede soportar tanto sistemas Windows como Linux.
Los usuarios de Windows deben configurar la variable de entorno PHP.
===A partir de aquí, esta página solo es aplicable para el entorno Linux de Workerman; los usuarios de Windows pueden ignorar esto===
Detección del entorno del sistema Linux
Los sistemas Linux pueden usar el siguiente script para comprobar si el entorno PHP local cumple con los requisitos de ejecución de Workerman.
curl -Ss https://www.workerman.net/check | php
Si el script muestra todo "ok", significa que cumple con los requisitos de Workerman; puedes dirigirte al sitio oficial para descargar ejemplos y ejecutarlos.
Si no está todo "ok", consulta la documentación a continuación para instalar las extensiones que falten.
(Nota: el script de detección no verifica la extensión event. Si el número de conexiones concurrentes en el negocio es mayor que 1024, debes instalar la extensión event y optimizar el núcleo de Linux. Consulta la sección de instalación de extensiones más abajo para saber cómo instalar la extensión.)
Instalación de extensiones faltantes en un entorno PHP existente
Instalación de las extensiones pcntl y posix:
Sistema centos
Si PHP se instaló a través de yum, ejecuta el siguiente comando en la línea de comandos:
yum install php-process
Si la instalación falla o PHP no fue instalado con yum, consulta la sección Apéndice - Instalación de extensiones en el método tres para la instalación mediante compilación de código fuente.
Sistemas debian/ubuntu/mac os
Consulta la sección Apéndice - Instalación de extensiones en el método tres para la instalación mediante compilación de código fuente.
Instalación de la extensión event:
Para poder soportar un mayor número de conexiones concurrentes, es necesario instalar la extensión event y optimizar el núcleo de Linux. Los métodos de instalación son los siguientes:
Sistema centos
-
Instalar el paquete de dependencias libevent-devel para la extensión event, ejecuta el siguiente comando en la línea de comandos:
yum install libevent-devel -y # Si no se puede instalar, intenta usar el siguiente comando # yum install libevent2-devel -y -
Instalar la extensión event, ejecuta el siguiente comando en la línea de comandos:
(La extensión event requiere PHP>=5.4)pecl install eventPresta atención a la indicación:
Include libevent OpenSSL support [yes] :cuando se te pida, ingresanoy presiona enter; para las demás indicaciones, simplemente presiona enter. -
Ejecuta
php --inipara encontrar y abrir el archivo php.ini, y agrega la siguiente configuración en la última línea:extension=event.so
Instalación en sistemas debian/ubuntu
-
Instalar el paquete de dependencias libevent-dev para la extensión event, ejecuta el siguiente comando en la línea de comandos:
apt-get install libevent-dev -y # Si no se puede instalar, intenta el siguiente comando # apt-get install libevent2-dev -y -
Instalar la extensión event, ejecuta el siguiente comando en la línea de comandos:
pecl install eventPresta atención a la indicación:
Include libevent OpenSSL support [yes] :cuando se te pida, ingresanoy presiona enter; para las demás indicaciones, simplemente presiona enter. -
Ejecuta
php --inipara encontrar y abrir el archivo php.ini, y agrega la siguiente configuración en la última línea:extension=event.so
Guía de instalación en mac os
Los sistemas mac generalmente son utilizados como máquinas de desarrollo, por lo que no es necesario instalar la extensión event.
Instalación desde un sistema nuevo (instalación completa de PHP + extensiones)
Guía de instalación para sistemas centos
-
Ejecuta el siguiente comando en la línea de comandos (este paso incluye la instalación de PHP-CLI, así como las extensiones pcntl, posix, la librería libevent y el programa git):
yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y -
Instala la extensión event, ejecuta el siguiente comando en la línea de comandos:
(Nota: la extensión event requiere PHP>=5.4)pecl install eventPresta atención a la indicación:
Include libevent OpenSSL support [yes] :cuando se te pida, ingresanoy presiona enter; para las demás indicaciones, simplemente presiona enter. -
Ejecuta
php --inipara encontrar y abrir el archivo php.ini, y agrega la siguiente configuración en la última línea:extension=event.so -
Ejecuta el siguiente comando en la línea de comandos (este paso descarga el programa principal de Workerman desde GitHub):
git clone https://github.com/walkor/Workerman -
Consulta la sección Guía de inicio - Parte de ejemplo simple para crear un archivo de entrada y ejecutarlo.
O descarga un demo empaquetado desde el sitio oficial y ejecútalo.
Guía de instalación para sistemas debian/ubuntu
-
Ejecuta el siguiente comando en la línea de comandos (este paso incluye la instalación de PHP-CLI, la librería libevent y el programa git):
apt-get install php-cli git gcc php-pear php-dev libevent-dev -y -
Instala la extensión event, ejecuta el siguiente comando en la línea de comandos:
(Nota: la extensión event requiere PHP>=5.4)pecl install eventPresta atención a la indicación:
Include libevent OpenSSL support [yes] :cuando se te pida, ingresanoy presiona enter; para las demás indicaciones, simplemente presiona enter. -
Ejecuta
php --inipara encontrar y abrir el archivo php.ini, y agrega la siguiente configuración en la última línea:extension=event.so -
Ejecuta el siguiente comando en la línea de comandos (este paso descarga el programa principal de Workerman desde GitHub):
git clone https://github.com/walkor/Workerman -
Consulta la sección Guía de inicio - Parte de ejemplo simple para crear un archivo de entrada y ejecutarlo.
O descarga un demo empaquetado desde el sitio oficial y ejecútalo.
Guía de instalación para sistemas mac os
Método 1: El sistema mac viene con PHP CLI, pero puede que le falte la extensión pcntl.
-
Consulta la sección Apéndice - Instalación de extensiones en el método tres para instalar la extensión
pcntla través de compilación de código fuente. -
Consulta la sección Apéndice - Instalación de extensiones en el método cuatro para instalar la extensión
eventutilizando phpize (esto se puede omitir en una máquina de desarrollo). -
Descarga el programa principal de Workerman desde https://www.workerman.net/download/workermanzip o visita el sitio oficial para descargar ejemplos y ejecutarlos.
Método 2: Instalar PHP y las extensiones correspondientes a través del comando brew
-
Ejecuta el siguiente comando en la línea de comandos para instalar la herramienta
brew(si ya has instaladobrew, puedes omitir este paso):/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" -
Ejecuta el siguiente comando en la línea de comandos para instalar
phpbrew install php -
Ejecuta el siguiente comando en la línea de comandos para instalar la extensión
eventbrew install php-event -
Visita el sitio oficial para descargar ejemplos y ejecutarlos.
Descripción de la extensión Event
La extensión Event no es obligatoria. Se recomienda su instalación cuando el negocio necesita soportar más de 1000 conexiones concurrentes, ya que puede soportar una gran cantidad de conexiones concurrentes. Si las conexiones concurrentes del negocio son relativamente bajas, por ejemplo, menos de 1000 conexiones, no es necesario instalarla.
Preguntas frecuentes
-
Si recibes el siguiente error
checking for include/event2/event.h... not found, intenta primero eliminar la librería libevent-dev(el) y luego instalar libevent2-dev(el).
Sistema centos:yum remove libevent-devel && yum install libevent2-devel
Sistema debian/ubuntu:apt-get remove libevent-dev && apt-get install libevent2-dev -
Si recibes el siguiente error
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.
Cambia el orden de carga de event.so y socket.so, es decir, en el archivo php.ini, colocaextension=socket.soantes deextension=event.so, para que la extensión de socket se cargue primero.