【开源20170629期】Workerman PHP Socket服务器框架样例实战教程
今天要分享国人精品开源项目:Workerman。
Workerman是什么?
Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架。被广泛的用于手机app、移动通讯,微信小程序,手游服务端、网络游戏、PHP聊天室、硬件通讯、智能家居、车联网、物联网等领域的开发。 支持TCP长连接,支持Websocket、HTTP等协议,支持自定义协议。拥有异步Mysql、异步Redis、异步Http、异步消息队列等众多高性能组件。(以上我就复制粘贴一下官方的自我介绍)。简单的说,就是一个基于PHP socket的服务器框架。至于PHP是什么,似乎是另一个很大的话题了。
从官方网站获得一些概况:从文档到样例再到视频教程...可说是一应俱全,单单从架势上就让人能觉得这玩意儿绝逼强大。官方首页提供了好些个样例:聊天室、监控、小游戏等等,而且全部都有实现源码,授权协议是MIT,绝对良心。
那么,好用么?
感觉从开篇到现在,都是在说好,具体实现上会不会有一样的基调呢?作为游戏界的从业者我特意挑了一个小蝌蚪的项目来实践一下。那么接着进入show me code 时间:
官方提供了两种版本:windows和linux,windows版本部分功能是不能用的,本着极客精神,我们当然要玩转linux版本的。本次测试环境如下:
OS:Ubuntu server 16,PHP版本:7.0,接着我们一步步实现,我就按照一台全新的ubuntu系统进行以下步骤:
登录ubuntu系统,先获取下更新:
apt-get update
自动更新完成后,我们开始安装php7.0,使用命令:
apt-get install php7.0-cli
安装完成后,我们可以通过命令:
php -v
来检查当前安装的版本信息。
接着我们要安装的是git,git是一个版本控制工具,具体的我们后续有机会在讲解相关案例。这里就先理解为我们需要用这个工具来下来小蝌蚪这个开源项目文件。使用命令来安装git工具:
apt-get install git
安装完后,我们使用git来克隆小蝌蚪项目:
git clone https://github.com/walkor/workerman-todpole
等待克隆完成,进入下一步。我们可以使用ls命令来列出当前的目录文件,然后使用cd命令来切换进入workerman-todpole的目录里。
cd workderman-todpole
我们可以看到目录下有一个start.php文件,这个就是启动的入口,我们使用我们安装的php来启动它:
php start.php start -d
报错了:
PHP Warning: require_once(/home/www/workerman-todpole/vendor/autoload.php): failed to open stream: No such file or directory in /home/www/workerman-todpole/start.php on line 29
淡定,缺少了依赖文件,我们安装即可,使用命令:
curl -sS https://getcomposer.org/installer | php
使用mv命令来移动文件:
mv composer.phar /usr/local/bin/composer
这里需要注意,如果提示没有权限执行,则使用sudo来执行mv命令。
安装依赖库:
composer install
这个时间可能会比较长一些,耐心等待即可。
完成上一步,我们可以切回项目目录,发现多了一些文件: composer.lock 和vendor。
我们再次启动:
php start.php start -d
完美启动: