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

php Swoole扩展安装_第1张图片

 

解压:进入/usr/local/swoole-2.2.0目录,然后执行下面命令

 

phpize
./configure
或者  ./configure --with-php-config=/usr/local/php/bin/php-config
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 Swoole扩展安装_第2张图片

出现标红的这个,就说么安装没有问题,那么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 运行这段代码

php Swoole扩展安装_第3张图片

运行之后,相当于在当前窗户运行,你也可以让后台运行,为了方便查看服务端监控客户端的响应。就按如图运行就行

 

运行如图命令,会看到Client:Connect

如果这个时候断开窗口,服务端也会接受到Client:Close

当然这只是一个最基本的扩展安装和调用实例。

 

 

 

你可能感兴趣的:(分布式)