swoole简介
swoole是面向生产环境的 PHP 异步网络通信引擎,PHP 开发人员可以编写高性能的异步并发 TCP、UDP、Unix Socket、HTTP,WebSocket 服务。Swoole 可以广泛应用于互联网、移动通信、企业软件、云计算、网络游戏、物联网(IOT)、车联网、智能家居等领域。 使用 PHP + Swoole 作为网络通信框架,可以使企业 IT 研发团队的效率大大提升,更加专注于开发创新产品。
swoole特性
Swoole 使用纯 C 语言编写,提供了 PHP 语言的异步多线程服务器,异步 TCP/UDP 网络客户端,异步 MySQL,异步 Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。 Swoole内置了Http/WebSocket服务器端/客户端、Http2.0服务器端。
除了异步 IO 的支持之外,Swoole 为 PHP 多进程的模式设计了多个并发数据结构和IPC通信机制,可以大大简化多进程并发编程的工作。其中包括了并发原子计数器,并发 HashTable,Channel,Lock,进程间通信IPC等丰富的功能特性。
Swoole2.0 支持了类似 Go 语言的协程,可以使用完全同步的代码实现异步程序。PHP 代码无需额外增加任何关键词,底层自动进行协程调度,实现异步。
准备工作
- 编译安装首先下载php的安装包(建议到PHP官网下载链接)
- 下载swoole安装包链接
安装php
1、解压php的压缩包
tar -zxcf php-7.2.16.tar.bz2
2、进入解压的php目录
cd php-7.2.16
3、需要支持gcc和autoconf包(已安装则跳过)
yum install -y gcc-c++
yum install -y autoconf
4、编译安装php
./configure --prefix=’/home/learn/swoole/php/’ 编译安装配置
make #编译
make install #执行安装
5、测试运行php
cd /home/learn/swoole/php/ #软件安装路径
- 查看目录文件
- 创建php测试文件 test.php
./bin/php test.php #输出hello wordl则成功
6、简化php执行命令
vim ~/.bash_profile #添加系统环境变量
添加alias php=’/home/learn/swoole/php/bin/php’
alias 命令=‘执行路径’
source ~/.bash_profile #重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录
php test.php #成功输出
安装swoole
1、解压已下载好的安装包
cd swoole #进入swoole目录
2、生成configure执行编译配置文件
/home/learn/swoole/php/bin/phpize #用php的phpize生成编译执行文件
./configure --with-php-config=’’/home/learn/swoole/php/bin/php-config" #编译配置时 要将php-config的路径附上
make #编译
make install #执行安装
- swoole扩展已经安装生成文件放在php扩展目录里
- 查看生成的swoole扩展文件
3、运行测试swoole
extenstion=swoole #添加(开启)swoole模块
cd /home/learn/swoole/swoole/examples/server #进入到swoole目录下的examples/server目录
cat echo.php #echo.php文件是测试swoole服务的demo文件
php echo.php #运行测试 无错误返回则已开启服务
telnet 127.0.0.1 9501 #远程连接测试 swoole服务默认端口9501
|
请发表评论