Instructions d'installation

Workerman est en réalité un package de code PHP. Si votre environnement PHP est déjà configuré, il vous suffit de télécharger le code source de Workerman ou le démon pour le faire fonctionner.

Installation via Composer :

composer require workerman/workerman

Attention
Certains miroirs proxy de composer ne sont pas complets, utilisez la commande ci-dessus composer config -g --unset repos.packagist pour supprimer le proxy.

Utilisateurs de Windows (à lire absolument)

À partir de la version 3.5.3 de Workerman, celui-ci prend en charge à la fois les systèmes Windows et Linux.
Les utilisateurs de Windows doivent configurer les variables d'environnement PHP.

===La suite de cette page s'applique uniquement à l'environnement Linux, les utilisateurs de Windows peuvent l'ignorer===

Détection de l'environnement système Linux

Le système Linux peut utiliser le script suivant pour tester si l'environnement PHP local satisfait aux exigences de fonctionnement de Workerman.
curl -Ss https://www.workerman.net/check | php

Si le script ci-dessus renvoie "ok" pour tous les éléments, cela signifie que les exigences de Workerman sont satisfaites, vous pouvez directement aller sur le site officiel pour télécharger les exemples et les faire fonctionner.

Si ce n'est pas le cas, référez-vous à la documentation ci-dessous pour installer les extensions manquantes.

(Remarque : le script de détection ne vérifie pas l'extension event. Si le nombre de connexions simultanées de votre application dépasse 1024, vous devez installer l'extension event et optimiser le noyau Linux. La méthode d'installation des extensions est décrite ci-dessous.)

Installation des extensions manquantes dans un environnement PHP existant

Installation des extensions pcntl et posix :

Système CentOS
Si PHP a été installé via yum, exécutez la commande suivante :

yum install php-process

Si l'installation échoue ou si PHP n'a pas été installé par yum, veuillez vous référer à la section Annexes - Installation des extensions dans la méthode trois pour l'installation à partir du code source.

Système Debian/Ubuntu/Mac OS
Référez-vous à la section Annexes - Installation des extensions dans la méthode trois pour l'installation à partir du code source.

Installation de l'extension event :

Pour pouvoir supporter un plus grand nombre de connexions simultanées, l'extension event doit être installée, et vous devez également optimiser le noyau Linux. Voici comment procéder :

Système CentOS

  1. Installez le paquet dépendant libevent-devel de l'extension event, exécutez la commande :

    yum install libevent-devel -y
    # Si cela échoue, essayez la commande suivante
    # yum install libevent2-devel -y
  2. Installez l'extension event, exécutez la commande :
    (l'extension event requiert PHP>=5.4)

    pecl install event

    Remarque : Lorsque le message Include libevent OpenSSL support [yes] : apparaît, entrez no et appuyez sur Entrée, pour les autres, appuyez simplement sur Entrée.

  3. Exécutez php --ini pour trouver et ouvrir le fichier php.ini, et ajoutez la configuration suivante à la dernière ligne :

    extension=event.so

Installation sur Debian/Ubuntu

  1. Installez le paquet dépendant libevent-dev de l'extension event, exécutez la commande :

    apt-get install libevent-dev -y
    # Si cela échoue, essayez la commande suivante
    # apt-get install libevent2-dev -y
  2. Installez l'extension event, exécutez la commande :

    pecl install event

    Remarque : Lorsque le message Include libevent OpenSSL support [yes] : apparaît, entrez no et appuyez sur Entrée, pour les autres, appuyez simplement sur Entrée.

  3. Exécutez php --ini pour trouver et ouvrir le fichier php.ini, et ajoutez la configuration suivante à la dernière ligne :

    extension=event.so

Tutoriel d'installation pour macOS

Le système macOS est généralement utilisé comme machine de développement, il n'est pas nécessaire d'installer l'extension event.

Installation sur un tout nouveau système (Installation complète de PHP + extensions)

Tutoriel d'installation pour CentOS

  1. Exécutez la commande suivante (Cette étape inclut l'installation du programme principal php-cli ainsi que des bibliothèques pcntl, posix, libevent et du programme git) :

    yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y
  2. Installez l'extension event, exécutez la commande :
    (Remarque : l'extension event exige PHP>=5.4)

    pecl install event

    Remarque : Lorsque le message Include libevent OpenSSL support [yes] : apparaît, entrez no et appuyez sur Entrée, pour les autres, appuyez simplement sur Entrée.

  3. Exécutez php --ini pour trouver et ouvrir le fichier php.ini, et ajoutez la configuration suivante à la dernière ligne :

    extension=event.so
  4. Exécutez la commande suivante (Cette étape télécharge le programme principal Workerman depuis GitHub) :

    git clone https://github.com/walkor/Workerman
  5. Référez-vous à la section Guide de démarrage - Partie exemple de développement simple pour écrire le fichier d'entrée et l'exécuter.
    Ou téléchargez le démon préemballé depuis le site officiel et exécutez-le.

Tutoriel d'installation pour Debian/Ubuntu

  1. Exécutez la commande suivante (Cette étape inclut l'installation du programme principal php-cli, des bibliothèques libevent et du programme git) :

    apt-get install php-cli git gcc php-pear php-dev libevent-dev -y
  2. Installez l'extension event, exécutez la commande :
    (Remarque : l'extension event exige PHP>=5.4)

    pecl install event

    Remarque : Lorsque le message Include libevent OpenSSL support [yes] : apparaît, entrez no et appuyez sur Entrée, pour les autres, appuyez simplement sur Entrée.

  3. Exécutez php --ini pour trouver et ouvrir le fichier php.ini, et ajoutez la configuration suivante à la dernière ligne :

    extension=event.so
  4. Exécutez la commande suivante (Cette étape télécharge le programme principal Workerman depuis GitHub) :

    git clone https://github.com/walkor/Workerman
  5. Référez-vous à la section Guide de démarrage - Partie exemple de développement simple pour écrire le fichier d'entrée et l'exécuter.
    Ou téléchargez le démon préemballé depuis le site officiel et exécutez-le.

Tutoriel d'installation pour macOS

Méthode 1 : Le système macOS fournit PHP CLI, mais il peut manquer l'extension pcntl.

  1. Référez-vous à la section Annexes - Installation des extensions pour installer l'extension pcntl à partir du code source.

  2. Référez-vous à la section Annexes - Installation des extensions pour installer l'extension event en utilisant phpize (cela peut être omis si vous utilisez la machine comme machine de développement).

  3. Téléchargez le programme principal Workerman via https://www.workerman.net/download/workermanzip, ou allez sur le site officiel pour télécharger un exemple et le faire fonctionner.

Méthode 2 : Installer PHP et les extensions correspondantes via la commande brew

  1. Exécutez la commande suivante pour installer l'outil brew (si vous avez déjà installé brew, vous pouvez sauter cette étape) :

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Exécutez la commande suivante pour installer php :

    brew install php
  3. Exécutez la commande suivante pour installer l'extension event :

    brew install php-event    
  4. Allez sur le site officiel pour télécharger un exemple et le faire fonctionner.

Description de l'extension Event

L'extension Event n'est pas obligatoire. Lorsque votre application doit gérer plus de 1000 connexions simultanées, il est recommandé d'installer Event, car cela permet de supporter un nombre massif de connexions simultanées. Si votre nombre de connexions simultanées est relativement faible, par exemple en dessous de 1000, vous n'avez pas besoin de l'installer.

Questions fréquentes

  1. Si vous rencontrez l'erreur suivante checking for include/event2/event.h... not found, essayez d'abord de supprimer la bibliothèque libevent-dev(el) et d'installer libevent2-dev(el).
    Pour CentOS : yum remove libevent-devel && yum install libevent2-devel
    Pour Debian/Ubuntu : apt-get remove libevent-dev && apt-get install libevent2-dev

  2. Si vous obtenez l'erreur suivante 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.
    Veuillez changer l'ordre de chargement de event.so et socket.so, en plaçant extension=socket.so avant extension=event.so dans le fichier php.ini, pour que l'extension socket soit chargée en premier.