php Swoole扩展安装
Swoole扩展
PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端/客户端。PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端/客户端。
编译安装
Swoole
扩展是按照PHP
标准扩展构建的。使用phpize
来生成编译检测脚本,./configure
来做编译配置检测,make
进行编译,make install
进行安装。
- 请下载
releases
版本的swoole
,直接从github
主干上拉取最新代码可能会编译不过 - 如果当前用户不是
root
,可能没有PHP
安装目录的写权限,安装时需要sudo
或者su
- 如果是在
git
分支上直接git pull
更新代码,重新编译前务必要执行make clean
下载安装包:https://wiki.swoole.com/wiki/page/6.html
解压:进入/usr/local/swoole-2.2.0目录,然后执行下面命令
phpize
./configure
make
sudo make install
会在这个目录/usr/local/php-7.0.7/lib/php/extensions/no-debug-zts-20151012 生成swoole.so文件。
将改文件加入
php.ini和php-cli.ini
然后重启PHP,使用php -m就可以查看该扩展是否安装成功
出现标红的这个,就说么安装没有问题,那么php怎么调用了 ,使用下面简单的例子,就能明白服务端和客户端之间通信了
这个是服务端代码
//创建Server对象,监听 127.0.0.1:9501端口
$serv = new swoole_server("127.0.0.1", 9501);
//监听连接进入事件
$serv->on('connect', function ($serv, $fd) {
echo "Client: Connect.\n";
});
//监听数据接收事件
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
$serv->send($fd, "Server: ".$data);
});
//监听连接关闭事件
$serv->on('close', function ($serv, $fd) {
echo "Client: Close.\n";
});
//启动服务器
$serv->start();
下面可能通过php 运行这段代码
运行之后,相当于在当前窗户运行,你也可以让后台运行,为了方便查看服务端监控客户端的响应。就按如图运行就行
运行如图命令,会看到Client:Connect
如果这个时候断开窗口,服务端也会接受到Client:Close
当然这只是一个最基本的扩展安装和调用实例。
上一篇: php安装swoole扩展
下一篇: CSRF Minefield 1靶场渗透