Swoole第一章

Swoole是什么?干什么?

swoole是php脚本语言的一个拓展,但是它不同于一般的php拓展,主要是实现了php在处理高并发,异步,高性能程序方面的能力。是一个网络通信和异步IO的引擎,比如,游戏领域,聊天软件系统。
swoole几个部分
swoole_server
swoole_client
swoole_event
swoole_async
swoole_process
swoole_buffer 内存区管理工具
swoole_table 内存表,为了解决进程间数据共享,同步加锁的问题

WebStock初步接触了解

安装swoole

GitHub地址 https://github.com/swoole/swoole-src
我选择的是1.10.4版本的

wget https://github.com/swoole/swoole-src/archive/v1.10.4.tar.gz
tar -zxvf v1.10.4.tar.gz 
cd swoole-src-1.10.4/
phpize 
./configure
make
make install

可能的问题:

1、 phpize执行失败

执行成功应该可以看到
phpize运行结果

如果报错 是因为缺少 php-devel

补充执行  yum install php-devel

1.5、./configure 失败 如果你是第一次使用源码包安装

没有gcc是无法编译执行源码的

yum install gcc 

1.9、 ./config 失败提示 configure: error: Cannot find php-config. Please use --with-php-config=PATH

一般出现这个错误说明你执行 ./configure 时 --with-php-config 这个参数配置路径错误导致的。
修改为:

./configure --with-php-config=/usr/local/php/bin/php-config

就可以解决问题
上面的 /usr/local/php/ 是你的 php 安装路径 ,路径完整填写是 php-config的路径

如果不在上面那个路径通过下面这个命令查找查看安装路径的命令:

whereis php  // which php :这个是查看正在运行的 

2、make执行失败
缺少 pcre-devel 零件

yum install pcre-devel 

安装完毕,修改配置文件
vim /etc/php.ini
如果此文件中有一句话是这样

; Note: packaged extension modules are now loaded via the .ini files
; found in the directory /etc/php.d; these are loaded by default.

表示模块配置文件和php主配置文件分开了,前往/etc/php.d/文件夹下设置 swoole.ini 文件(不存在就新建)

vim swoole.ini
输入
extension=swoole.so   (开启swoole拓展)

重启服务,查看phpinfo内容

当然我不会告诉你,其实你直接输入

pecl install swoole  就可以一步完成安装的 =。=(需php7.0以上)
当然配置文件别忘了加上 extension=swoole.so

小测试(使用swoole的搭建一个基于websocket的聊天室)

服务端代码

(主要功能,接受客户端发送的信息,并返回给客户端)

on('open',function($ws,$request){
var_dump($request->fd,$request->get,$request->server);
echo '链接成功'.PHP_EOL;
});

$ws->on('message',function($ws,$frame){
var_dump($frame);
echo "message: {$frame->data} , opcode:{$frame->opcode} \n";
$ws->push($frame->fd,"这是服务器还给你的消息server: {$frame->data}");
});

$ws->on('close',function($ws,$fd){
echo "client-{$fd} is closed\n";
});

$ws->start();

客户端代码

(主要效果临时登录,定义name,发送消息)

你可能感兴趣的:(Swoole第一章)