本人使用宝塔搭建的PHP7.3-mysql5.7-nginx1.8环境,宝塔安装地址:https://www.bt.cn/
首先git下载swool版本:https://github.com/swoole/swoole-src/releases
,选择你想要下载的版本比如:swoole-src-4.4.12.tar.gz
,并上传到服务器去。
[root@localhost /]# cd /root
[root@localhost root]# tar -xvf swoole-src-4.4.12.tar.gz
[root@localhost root]# cd swoole-src-4.4.12
[root@localhost swoole-src-4.4.12]# phpize
[root@localhost swoole-src-4.4.12]# ./configure
[root@localhost swoole-src-4.4.12]# make && sudo make install
上面是跟着swool官网安装swool步骤做的。地址:https://wiki.swoole.com/#/environment
在安装过程中,./configure步骤报错,configure: error: Cannot find PHP-config. Please use --with-php-config=PATH
,这是因为没有指定php的配置文件,需要额外指定
// 搜索php配置文件 find / -name php-config 我的是:/www/server/php/73/bin/php-config
[root@localhost swoole-src-4.4.12]# ./configure --with-php-config=/usr/local/php/bin/php-config
然后重新整一下:
[root@localhost swoole-src-4.4.12]# ./configure --with-php-config=/www/server/php/73/bin/php-config
[root@localhost swoole-src-4.4.12]# make && sudo make install
安装完成后,并且安装到了PHP的环境目录中了; 最后还需要执行配置php.ini在里面添加swoole的扩展。
php.ini文件建议先备份一份。添加extension=swoole.so
通过php -m
可以查看php安装的扩展模块。然后重启php
[root@localhost swoole-src-4.4.12]# /etc/init.d/php-fpm-73
restart Reload service php-fpm done
这样安装swool完成。
下面是一个官网案例:
在/www/wwwroot/swooldemo/swool-demo.php中写入代码:
<?php
// 1. 创建swoole 默认创建的是一个同步的阻塞tcp服务
$host = "192.168.186.129"; // 0.0.0.0 代表接听所有
// 创建Server对象,监听 127.0.0.1:9501端口 // 默认是tcp
$serv = new SwooleServer($host, 9501);
// 2. 注册事件
$serv->on('Start', function($serv){ echo "启动swoole 监听的信息tcp:$host:9501
"; });
//监听连接进入事件
$serv->on('Connect', function ($serv, $fd) { echo "Client: Connect.
"; });
//监听数据接收事件
$serv->on('Receive', function ($serv, $fd, $from_id, $data) { $serv->send($fd, "Server: ".$data); });
//监听连接关闭事件
$serv->on('Close', function ($serv, $fd) { echo "Client: Close.
"; });
// 3. 启动服务器
// 阻塞
$serv->start(); // 阻塞与非阻塞
?>
php运行该文件即可:php swool-demo.php
[root@localhost swool]# php server.php
启动swoole 监听的信息tcp::9501
这样显示启动成功,不过注意的是需要开启对应的端口号,否则只能在本机虚拟机里面测试如:curl 127.0.0.1:9501
开启端口号后,就可以在浏览器访问啦