Workerman是一款开源高性能异步PHP socket即时通讯框架。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、MQTT物联网客户端、异步消息队列等众多高性能组件。
据说workman的性能单机可支持百万的并发连接,长连接吞吐量高达36W/S。但是波波没有进行过实际测试,而且测试环境也会因服务器不同而异。这个略去不提,大家知道workman的并发连接性能比较高就行了,下面波波将着重分享下thinkPHP5.0版本集成workman和gatewayworker的过程。
在开始分享前,请开发者务必仔细阅读thinkPHP5.0的开发文档:https://www.kancloud.cn/manual/thinkphp5/235128
阅读完毕之后开始安装步骤:
1、composer安装。这一步跟官方文档类似又不一样,原因是thinkPHP版本为5.0,如果为5.1版本则按官方文档即可。不然安装时会报版本错误。
- composer require topthink/think-worker=1.0.*
2、复制文档中Server.php文件内容,并建立server.php至项目根目录。
3、在application中建立push模块、控制器代码复制文档中的即可。
4、执行运行命令。
- cd //切换到server.php所在文件目录
- php server.php start -d
执行完成后,就会看到一行开启端口的状态信息。记得防火墙放行端口。
这一步容易出错的原因在于CLI模式下PHP扩展的问题。所以开发者务必清楚的了解自己服务器PHP是通过何种方式安装的。将pcntl扩展、posix扩展和libevent扩展安装,参考教程:http://doc.workerman.net/install/install.html
5、最后一步就是测试。TP5的官方文档给出了详细的测试过程,这里波波也不过多重复。
以上就是thinkphp5.0集成workman的详细步骤和解决问题的步骤。余下就是基于workman进行项目开发了,稍后波波也会开发一些实时聊天和消息推送的组件敬请期待。