Инструкции по установке

Workerman на самом деле представляет собой пакет PHP-кода. Если ваше окружение PHP уже подготовлено, вам нужно просто скачать исходный код Workerman или демо и вы сможете запустить.

Установка через Composer:

composer require workerman/workerman

Внимание
Некоторые зеркала-агенты Composer могут быть неполными, используйте команду composer config -g --unset repos.packagist, чтобы удалить прокси.

Пользователи Windows (обязательно к прочтению)

С версии workerman 3.5.3 он теперь поддерживает как Windows, так и Linux системы.
Пользователям Windows необходимо настроить переменные окружения PHP.

=== Все нижеизложенное касается только Linux-окружения Workerman, пользователи Windows могут игнорировать это ===

Проверка окружения Linux

В Linux вы можете использовать следующий скрипт для проверки, соответствует ли ваша среда PHP требованиям для работы Workerman.
curl -Ss https://www.workerman.net/check | php

Если скрипт показывает все ok, это означает, что требования Workerman выполнены, просто перейдите на официальный сайт и скачайте пример, чтобы запустить.

Если не все ok, следуйте инструкциям ниже, чтобы установить недостающие расширения.

(Внимание: скрипт не проверяет расширение event. Если количество одновременно подключенных клиентов превышает 1024, необходимо установить расширение event и оптимизировать ядро Linux. Способы установки расширений приведены ниже.)

Установка недостающих расширений в уже имеющееся окружение PHP

Установка расширений pcntl и posix:

Система centos
Если PHP установлен через yum, то выполните команду yum install php-process, чтобы установить расширения pcntl и posix.

Если установка не удалась или PHP не был установлен через yum, выполните метод три из Приложение - Установка расширений для сборки из исходников.

Системы debian/ubuntu/mac os
Смотрите метод три из Приложение - Установка расширений для сборки из исходников.

Установка расширения event:

Чтобы поддерживать большее количество одновременно подключенных клиентов, необходимо установить расширение event и оптимизировать ядро Linux. Метод установки следующий:

Система centos

  1. Установите пакет зависимостей libevent-devel для расширения event, выполните команду

    yum install libevent-devel -y
    # Если установка не удалась, попробуйте следующую команду
    # yum install libevent2-devel -y
  2. Установите расширение event, выполните команду
    (расширение event требует PHP>=5.4)

    pecl install event

    Обратите внимание: когда появится сообщение: Include libevent OpenSSL support [yes] : введите no и нажмите Enter, остальные параметры просто подождите.

  3. Выполните php --ini, найдите и откройте файл php.ini, добавьте следующую строку в конце

    extension=event.so

Установка на системах debian/ubuntu

  1. Установите пакет зависимостей libevent-dev для расширения event, выполните команду

    apt-get install libevent-dev -y
    # Если установка не удалась, попробуйте следующую команду
    # apt-get install libevent2-dev -y
  2. Установите расширение event, выполните команду

    pecl install event

    Обратите внимание: когда появится сообщение: Include libevent OpenSSL support [yes] : введите no и нажмите Enter, остальные параметры просто подождите.

  3. Выполните php --ini, найдите и откройте файл php.ini, добавьте следующую строку в конце

    extension=event.so

Инструкция по установке для системы mac os

Система mac обычно используется в качестве рабочей машины, установка расширения event не требуется.

Установка на новой системе (полная установка PHP + расширений)

Инструкция по установке для системы centos

  1. Выполните команду (этот шаг включает установку основной программы php-cli, а также pcntl, posix, библиотеки libevent и git)

    yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y
  2. Установите расширение event, выполните команду
    (Внимание: расширение event требует PHP>=5.4)

    pecl install event

    Обратите внимание: когда появится сообщение: Include libevent OpenSSL support [yes] : введите no и нажмите Enter, остальные параметры просто подождите.

  3. Выполните php --ini, найдите и откройте файл php.ini, добавьте следующую строку в конце

    extension=event.so
  4. Выполните команду (этот шаг загружает основной код Workerman с GitHub)

    git clone https://github.com/walkor/Workerman
  5. Следуйте Руководству по началу работы - часть простого примера для написания входного файла и его исполнения.
    Или скачайте готовые демо-версии с официального сайта и запустите их.

Инструкция по установке для систем debian/ubuntu

  1. Выполните команду (этот шаг включает установку основной программы php-cli, библиотеки libevent и git)

    apt-get install php-cli git gcc php-pear php-dev libevent-dev -y
  2. Установите расширение event, выполните команду
    (Внимание: расширение event требует PHP>=5.4)

    pecl install event

    Обратите внимание: когда появится сообщение: Include libevent OpenSSL support [yes] : введите no и нажмите Enter, остальные параметры просто подождите.

  3. Выполните php --ini, найдите и откройте файл php.ini, добавьте следующую строку в конце

    extension=event.so
  4. Выполните команду (этот шаг загружает основной код Workerman с GitHub)

    git clone https://github.com/walkor/Workerman
  5. Следуйте Руководству по началу работы - часть простого примера для написания входного файла и его исполнения.
    Или скачайте готовые демо-версии с официального сайта и запустите их.

Инструкция по установке для системы mac os

Способ 1: Система mac поставляется с PHP Cli, но может отсутствовать расширение pcntl.

  1. Следуйте методу три из Приложение - Установка расширений для установки расширения pcntl из исходников.

  2. Следуйте методу четыре из Приложение - Установка расширений для установки расширения event с помощью phpize (это можно пропустить для рабочей машины).

  3. Скачайте основной код Workerman с https://www.workerman.net/download/workermanzip или скачайте примеры с официального сайта и запустите их.

Способ 2: Установите php и соответствующие расширения с помощью команды brew

  1. Выполните команду для установки инструмента brew (если вы уже установили brew, можете пропустить этот шаг)

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Выполните команду для установки php

    brew install php
  3. Выполните команду для установки расширения event

    brew install php-event    
  4. Скачайте примеры с официального сайта и запустите их.

Описание расширения Event

Расширение Event не является обязательным, но если ваше приложение требует поддержку более 1000 одновременных соединений, рекомендуется установить Event, что позволит поддерживать огромное количество одновременных подключений. Если количество одновременных подключений невелико, например, менее 1000, установка не требуется.

Общие вопросы

  1. Если вы видите ошибку checking for include/event2/event.h... not found, сначала попробуйте удалить библиотеку libevent-dev(el) и установить libevent2-dev(el).
    centos: yum remove libevent-devel && yum install libevent2-devel
    debian/ubuntu: apt-get remove libevent-dev && apt-get install libevent2-dev

  2. Если вы видите ошибку 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.
    Пожалуйста, измените порядок загрузки event.so и socket.so, то есть в php.ini сначала пишите extension=socket.so перед extension=event.so, чтобы расширение сокетов загружалось раньше.