インストール手順

Workermanは実際にはPHPのコードパッケージであり、すでにPHP環境が整備されている場合、Workermanのソースコードまたはデモをダウンロードして実行するだけです。

Composerのインストール:

composer require workerman/workerman

注意
一部のComposerプロキシミラーが完全ではない場合は、以下のコマンドを使用してcomposer config -g --unset repos.packagist を実行してプロキシを削除してください。

Windowsユーザー(必読)

Workerman 3.5.3以降、WorkermanはWindowsおよびLinuxシステムの両方をサポートしています。
Windowsユーザーは、PHP環境変数を設定する必要があります。

===このページの以下の内容はLinux環境のWorkermanにのみ適用され、Windowsユーザーは無視してください===

Linuxシステム環境のテスト

Linuxシステムでは、以下のスクリプトを使用して、ローカルのPHP環境がWorkermanの実行要件を満たしているかどうかをテストできます。
curl -Ss https://www.workerman.net/check | php

上記のスクリプトがすべて「ok」を表示した場合、Workermanの要件を満たしていることを示し、公式サイトから例をダウンロードして実行できます。

すべてがOKでない場合は、以下の文書を参照して、不足している拡張機能をインストールします。

(注意:テストスクリプトはイベント拡張機能をテストしていません。もしビジネスの同時接続数が1024を超える場合は、イベント拡張機能をインストールする必要があります。また、Linuxカーネルの最適化も必要です。拡張機能のインストール方法は以下の説明に従ってください。)

既存のPHP環境に拡張機能をインストールする

pcntlおよびposix拡張のインストール:

CentOSシステム
PHPがyumを使用してインストールされている場合、次のコマンドを実行して、pcntlおよびposix拡張機能をインストールできます。

yum install php-process

インストールに失敗した場合やPHPがyumを使用していない場合は、付録-拡張機能のインストールの「方法三:ソースコードでのコンパイルインストール」を参照してください。

Debian/Ubuntu/Mac OSシステム
付録-拡張機能のインストールの「方法三:ソースコードでのコンパイルインストール」を参照してください。

event拡張のインストール:

より多くの同時接続数をサポートするためには、event拡張をインストールし、Linuxカーネルの最適化を行う必要があります。インストール手順は以下の通りです。

CentOSシステム

1、event拡張の依存であるlibevent-develパッケージをインストールするために、次のコマンドを実行します。

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を押します。その他のプロンプトはすべてEnterを押してください。

3、php --iniを実行してphp.iniファイルを見つけ、最後の行に以下の設定を追加します。

extension=event.so

Debian/Ubuntuシステムのインストール

1、libevent-devパッケージをインストールするために、次のコマンドを実行します。

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システムは一般的に開発用のマシンとして使用されるため、イベント拡張をインストールする必要はありません。

新しいシステムのインストール(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を押します。その他のプロンプトはすべて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、参考:付録-拡張機能のインストールセクションで「方法三:ソースコードでのコンパイルインストール」を参照してください。

2、参考:付録-拡張機能のインストールセクションの方法4を使用して、event拡張機能をインストールします(開発用のマシンでは省略可)。

3、https://www.workerman.net/download/workermanzip からWorkermanメインプログラムをダウンロードするか、公式サイト から例をダウンロードして実行してください。

方法2: brew コマンドを使用してPHPおよび対応する拡張をインストールする

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以下の同時接続など)、Eventをインストールする必要はありません。

よくある問題

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.sosocket.so の読み込み順序を変更し、php.ini ファイルで extension=socket.soextension=event.so の前に配置し、先にsocket拡張をロードするようにしてください。