linux-centos7服务器下,安装swool并初始一个demo

本人使用宝塔搭建的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 Swoole\Server($host, 9501);
// 2. 注册事件
$serv->on('Start', function($serv){ echo "启动swoole 监听的信息tcp:$host:9501\n"; });
//监听连接进入事件
$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"; });
// 3. 启动服务器
// 阻塞
$serv->start(); // 阻塞与非阻塞
?>

php运行该文件即可:php swool-demo.php

[root@localhost swool]# php server.php 
启动swoole 监听的信息tcp::9501

这样显示启动成功,不过注意的是需要开启对应的端口号,否则只能在本机虚拟机里面测试如:curl 127.0.0.1:9501
开启端口号后,就可以在浏览器访问啦

posted @ 2020-10-28 15:46  蝶墨轩冕  阅读(145)  评论(0编辑  收藏  举报