workerman(環境 初識)

2022-07-18 02:39:12 字數 1511 閱讀 5235

一、workerman 對 php的環境要求:

php>=5.3.3;

linux系統要求安裝posix 和 pcntl拓展:

檢測本地環境是否滿足workerman:

[root@fengniu020 ~]# curl -ss | php

php version >= 5.3.3 [ok]

extension pcntl check [ok]

extension posix check [ok]

如果出現  extension posix check [fail] , 則 yum install php-process ,在重啟下 service php-fpm restart

二、安裝:

apt-get install php5-cli git gcc php-pear php5-dev libevent-dev -y

pecl install event

git clone

寫個websocket服務server.php:

<?php 

require_once __dir__.'/workerman/autoloader.php';

use workerman\worker;

$worker = new worker('websocket:');

// 連線**

$worker->onconnect = function ($connection);

// 接受傳送訊息

$worker->onmessage = function ($connection,$data);

// 關閉連線

$worker->onclose = function ($connection);

$worker::runall();

開啟服務:  php server.php start

在瀏覽器可以輸入: 127.0.0.1:8085 去訪問,或者任何的ip,因為new worker 裡面使用了0.0.0.0 ,表示任意的ip。

然後你可以使用control來輸入一些websocket 請求:

var ws = new websocket('ws:');

ws.onmessage = function(event){

console.log('message: ' + event.data);

ws.send('hi, jackey');

如圖,control:

你可以把這些寫到js裡面,然後訪問這個包含此js的html的檔案就好。

總結:websocket是乙個長鏈結的 ,在new worker('websocket:')中 ,如果是tcp服務的,則是 new worker('tcp:');對應的改下就行了,其他的基本上都一樣的了,一般都是用於訊息提醒,通知,websocket 也是可以用作聊天的,有待研究。

workerman啟動失敗

啟動後報錯類似如下 php start.php start php warning stream socket server unable to connect to tcp address already in use in home workerman chat workerman worker...

Workerman安裝流程

第一步檢測安裝環境 curl ss php 操作結果顯示 報錯了 需要找到php.ini檔案 解決辦法如下 開啟 php.ini 找到 disable functions 一項,將 stream socket server 禁用項刪掉。mv workerman master workerman 修改...

workerman和thinkphp完美結合使用

進入home controller目錄,新建workermancontroller.class.php 直接上原始碼,這裡我是以守護程序方式執行的,除錯的話,可以去掉daemonize true 這行.namespace home controller use workerman worker 使用...