Swoole学习——1、源码安装php7和swoole扩展

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

  • 进入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

  • 修改php.ini配置文件 开启swoole模块

extenstion=swoole #添加(开启)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

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Hou_guang/article/details/88727032