workerman 一 环境搭建
2020-03-13 本文已影响0人
蛐蛐儿阳
一,前言
workerman官方文档 http://doc.workerman.net/
workmen要用到php环境, 我本地两个php5.6和7.1, docker里有很多。
socket, 协议。我们启动他要 php ***.php start。 如果本地的话,很简单了,扩展我都装过了,如果用docker, 我得在启一个容器。
嗯,用docker, 尝试下这种没用过的姿势。
启docker
docker run -itd -p 2001:2001 -v /Users/guanliyang/php:/usr/share/nginx/html --name socken-php7.4 77cd7cd803b2
进入docker看看是否符合环境
curl -Ss http://www.workerman.net/check.php | php
发现pcntl没有安装, 安装之
docker-php-ext-install pcntl
再试下通过了。这种安装扩展太方便了。
准备一个测试代码
<?php
use Workerman\Worker;
require_once __DIR__ . '/Workerman/Autoloader.php';
// 创建一个Worker监听2345端口,使用http协议通讯
$http_worker = new Worker("http://0.0.0.0:2001");
// 启动4个进程对外提供服务
$http_worker->count = 4;
// 接收到浏览器发送的数据时回复hello world给浏览器
$http_worker->onMessage = function($connection, $data)
{
// 向浏览器发送hello world
$connection->send('hello world');
};
// 运行worker
Worker::runAll();
注意下这里的端口,和开启容器的端口是一样的。 mac机器上ping容器的ip是不通的。其实大多数情况下也没必要,由于端口映射出来了,直接http://localhost:2001/
就能访问到hello word。
至此,说明环境已搭建完毕。
总结一下: