安裝說(shuō)明
Workerman實(shí)際上就是一個(gè)PHP代碼包,如果你的PHP環(huán)境已經(jīng)裝好,只需要把Workerman源代碼或者demo下載下來(lái)即可運(yùn)行。
Composer安裝:
composer require workerman/workerman
注意
有些composer代理鏡像不全,使用以上命令composer config -g --unset repos.packagist
移除代理
windows用戶(必讀)
從workerman3.5.3版開(kāi)始workerman已經(jīng)可以同時(shí)支持windows和linux系統(tǒng)。
windows用戶需要配置下php環(huán)境變量。
===本頁(yè)面以下僅適用于Linux環(huán)境workerman,windows用戶請(qǐng)忽略===
Linux系統(tǒng)環(huán)境檢測(cè)
Linux系統(tǒng)可以使用以下腳本測(cè)試本機(jī)PHP環(huán)境是否滿足Workerman運(yùn)行要求。
curl -Ss http://wtbis.cn/check | php
上面腳本如果全部顯示ok,則代表滿足Workerman要求,直接到官網(wǎng)下載例子即可運(yùn)行。
如果不是全部ok,則參考下面文檔安裝缺失的擴(kuò)展即可。
(注意:檢測(cè)腳本中沒(méi)有檢測(cè)event擴(kuò)展,如果業(yè)務(wù)并發(fā)連接數(shù)大于1024必須安裝event擴(kuò)展,并且優(yōu)化Linux內(nèi)核,擴(kuò)展安裝方法參照下面說(shuō)明)
已有PHP環(huán)境安裝缺失擴(kuò)展
安裝pcntl和posix擴(kuò)展:
centos系統(tǒng)
如果php是通過(guò)yum安裝的,則命令行運(yùn)行 yum install php-process
即可安裝pcntl和posix擴(kuò)展。
如果安裝失敗或者php本身不是用yum安裝的請(qǐng)參考手冊(cè)附錄-安裝擴(kuò)展一節(jié)中方法三源碼編譯安裝。
debian/ubuntu/mac os系統(tǒng)
參考手冊(cè)附錄-安裝擴(kuò)展一節(jié)中方法三源碼編譯安裝。
安裝event擴(kuò)展:
為了能支持更大的并發(fā)連接數(shù),必須安裝event擴(kuò)展,并且優(yōu)化Linux內(nèi)核。安裝方法如下:
centos系統(tǒng)
1、安裝event擴(kuò)展依賴的libevent-devel包,命令行運(yùn)行
yum install libevent-devel -y
# 如果無(wú)法安裝,嘗試使用下面的命令
# yum install libevent2-devel -y
2、安裝event擴(kuò)展,命令行運(yùn)行
(event擴(kuò)展要求PHP>=5.4)
pecl install event
注意提示:Include libevent OpenSSL support [yes] :
時(shí)輸入no
回車(chē),其它直接敲回車(chē)就行
3、運(yùn)行php --ini
找到并打開(kāi)php.ini文件,在最后一行加入如下配置
extension=event.so
debian/ubuntu系統(tǒng)安裝
1、安裝event擴(kuò)展依賴的libevent-dev包,命令行運(yùn)行
apt-get install libevent-dev -y
# 如果無(wú)法安裝,請(qǐng)嘗試以下命令
# apt-get install libevent2-dev -y
2、安裝event擴(kuò)展,命令行運(yùn)行
pecl install event
注意提示:Include libevent OpenSSL support [yes] :
時(shí)輸入no
回車(chē),其它直接敲回車(chē)就行
3、運(yùn)行php --ini
找到并打開(kāi)php.ini文件,在最后一行加入如下配置
extension=event.so
mac os 系統(tǒng)安裝教程
mac 系統(tǒng)一般作為開(kāi)發(fā)機(jī),不必安裝event擴(kuò)展。
全新系統(tǒng)安裝(全新安裝PHP+擴(kuò)展)
centos系統(tǒng)安裝教程
1、命令行運(yùn)行(此步驟包含了安裝php-cli主程序以及pcntl、posix、libevent庫(kù)及git程序)
yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y
2、安裝event擴(kuò)展,命令行運(yùn)行
(注意:event擴(kuò)展要求PHP>=5.4)
pecl install event
注意提示:Include libevent OpenSSL support [yes] :
時(shí)輸入no
回車(chē),其它直接敲回車(chē)就行
3、運(yùn)行php --ini
找到并打開(kāi)php.ini文件,在最后一行加入如下配置
extension=event.so
4、命令行運(yùn)行(此步驟是通過(guò)github下載Workerman主程序)
git clone https://github.com/walkor/Workerman
5、參考入門(mén)指引--簡(jiǎn)單開(kāi)發(fā)實(shí)例部分寫(xiě)入口文件運(yùn)行。
或者從官網(wǎng)下載打包好的demo運(yùn)行。
debian/ubuntu系統(tǒng)安裝教程
1、命令行運(yùn)行(此步驟包含了安裝php-cli主程序、libevent庫(kù)及git程序)
apt-get install php-cli git gcc php-pear php-dev libevent-dev -y
2、安裝event擴(kuò)展,命令行運(yùn)行
(注意:event擴(kuò)展要求PHP>=5.4)
pecl install event
注意提示:Include libevent OpenSSL support [yes] :
時(shí)輸入no
回車(chē),其它直接敲回車(chē)就行
3、運(yùn)行php --ini
找到并打開(kāi)php.ini文件,在最后一行加入如下配置
extension=event.so
4、命令行運(yùn)行(此步驟是通過(guò)github下載Workerman主程序)
git clone https://github.com/walkor/Workerman
5、參考入門(mén)指引--簡(jiǎn)單開(kāi)發(fā)實(shí)例部分寫(xiě)入口文件運(yùn)行。
或者從官網(wǎng)下載打包好的demo運(yùn)行。
mac os 系統(tǒng)安裝教程
方法1: mac系統(tǒng)自帶PHP Cli,但是可能缺少pcntl
擴(kuò)展。
1、參考手冊(cè)附錄-安裝擴(kuò)展一節(jié)中方法三源碼編譯安裝pcntl
擴(kuò)展。
2、參考手冊(cè)附錄-安裝擴(kuò)展一節(jié)中方法四利用phpize安裝event
擴(kuò)展(作為開(kāi)發(fā)機(jī)此可省略)。
3、通過(guò)http://wtbis.cn/download/workermanzip 下載Workerman主程序,或者到官網(wǎng)下載例子運(yùn)行。
方法2: 通過(guò)brew
命令安裝php及對(duì)應(yīng)擴(kuò)展
1、命令行運(yùn)行以下命令安裝brew
工具(如果已經(jīng)安裝過(guò)brew
可以跳過(guò)此步驟)
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、命令行運(yùn)行以下命令安裝php
brew install php
3、命令行運(yùn)行以下命令安裝event
擴(kuò)展
brew install php-event
4、到官網(wǎng)下載例子運(yùn)行
Event擴(kuò)展說(shuō)明
Event擴(kuò)展不是必須的,當(dāng)業(yè)務(wù)需要支撐大于1000的并發(fā)連接時(shí),推薦安裝Event,能夠支持巨大的并發(fā)連接。如果業(yè)務(wù)并發(fā)連接比較低,例如1000以下并發(fā)連接,則可以不用安裝。
常見(jiàn)問(wèn)題
1、如果出現(xiàn)如下報(bào)錯(cuò) checking for include/event2/event.h... not found
,請(qǐng)先嘗試刪除libevent-dev(el)庫(kù)安并裝libevent2-dev(el)。
centos系統(tǒng):yum remove libevent-devel && yum install libevent2-devel
debian/ubuntu系統(tǒng):apt-get remove libevent-dev && apt-get install libevent2-dev
2、如果出現(xiàn)如下報(bào)錯(cuò)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
。
請(qǐng)更改event.so 和socket.so的加載順序,既在php.ini中將 extension=socket.so
寫(xiě)在 extension=event.so
前面,讓socket擴(kuò)展先加載。