Swoole 是一个 PHP 的 协程 高性能 网络通信引擎,使用 C/C++ 语言编写,提供了多种通信协议的网络服务器和客户端模块。可以方便快速的实现 TCP/UDP服务、高性能Web、WebSocket服务、物联网、实时通讯、游戏、微服务等,使 PHP 不再局限于传统的 Web 领域。
Swoole 扩展是按照 PHP 标准扩展构建的。使用 phpize 来生成编译检测脚本,./configure 来做编译配置检测,make 进行编译,make install 进行安装。
一、下载swoole 源码包
用命令 git clone https://gitee.com/swoole/swoole.git
或者:http://pecl.php.net/package/swoole
二、 编译安装
1. 下载到目录后解压 unzip swoole-swoole-v2.1.0.zip
2. 进入包 cd swoole
3. 找到PHP目录找到 phpize 我的目录是:/usr/local/php7.4/bin/phpize在解压的swoole目录中执行此语句
4. 然后用phpconfig编译swoole:./configure --with-php-config=/usr/local/php7.4/bin/php-config(这里会等待一下)
5.然后make && make install(最后会出现swoole.so存放的目录)
三、让php7支持swoole
1.找到PHP配置文件php.ini 在里面添加 extension=swoole,然后重新加载php配置,在phpinfo中就可以看到扩展了
重启php,/etc/init.d/php-fpm restart,
2.创建server.php文件,写入如下内容:
<?php //创建Server对象,监听 127.0.0.1:9501 端口 $server = new Swoole\Server('127.0.0.1', 9501); //监听连接进入事件 $server->on('Connect', function ($server, $fd) { echo "Client: Connect.\n"; }); //监听数据接收事件 $server->on('Receive', function ($server, $fd, $from_id, $data) { $server->send($fd, "Server: " . $data); }); //监听连接关闭事件 $server->on('Close', function ($server, $fd) { echo "Client: Close.\n"; }); //启动服务器 $server->start(); ?>
3.在cli中执行php server.php就可以开启swoole中的tcp服务器
4.新开一个窗口执行:netstat -anp | grep 9501,查看服务监听的端口就可以看到啦!
文章评论(0)