安裝workerman其實很簡單,只要會簡單的linux口令就可以搞定,
這里我給大家演示一下如何安裝workerman 進入終端的過程就不用演示了吧...
輸入root及密碼進入終端后找到站點根目錄 先使用官方自帶的腳本測試下服務器的PHP環境是否滿足WorkerMan允許要求
curl -Ss http://www.workerman.net/check.php | php
如圖所示,本機的posix擴展沒有安裝,那我們使用以下命令進行安裝pcntl和posix擴展。
yum install php-process
擴展安裝完成后,再次檢測PHP環境,顯示一切正常。
官方提示為了支持更大的並發連接數,建議安裝event擴展或者libevent擴展(二者作用相同,二選一即可),我們進行libevent擴展安裝如下
擴展安裝成功后,一切准備就緒,通過wget口令下載WorkerMan源碼包
wget http://www.workerman.net/download/workermanzip
下載完成后就可以看到下圖中的workermanzip包,執行 unzip 進行解壓
解壓成功,將Workerman-master 重命名 如圖
mv Workerman-master Workerman
創建test.php文件代碼如下
<?php
use Workerman\Worker;
require_once __DIR__ . '/Workerman/Autoloader.php';
// 創建一個Worker監聽2345端口,使用http協議通訊
$http_worker = new Worker("http://0.0.0.0:2345");
// 啟動4個進程對外提供服務
$http_worker->count = 4;
// 接收到瀏覽器發送的數據時回復hello world給瀏覽器
$http_worker->onMessage = function($connection, $data)
{
// 向瀏覽器發送hello world
$connection->send('hello world');
};
Worker::runAll();
執行 php test.php start 看到如下圖表示workerman安裝成功叻...
...
用守護進程模式啟動可以后台運行 workerman 任務:
php start.php start -d (-d 守護模式啟動)
報錯可能原因:
php加載sockets 和libevent模塊的順序導致
解決方法:
vim /etc/php.d/libevent.ini
注釋掉:extension = libevent.so
vim /etc/php.d/sockets.ini
注釋掉:extentsion = sockets.so
然后在php.ini中添加這兩個擴展的引用
vim /etc/php.ini
extension = sockets.so
extension = libevent.so
將上面內容添加到php.ini中,注意添加順序。