title: Swoole简介
date: 2020-01-10 14:29:27
categories:
- Swoole
tags: - Swoole简介
Swoole简介
PHP异步网络通信引擎
最终编译为so文件作为PHP的扩展
技术点准备工作
Linux环境下开发
PHP7,Swoole2.1 Redis
源码安装PHP7,源码安装Swoole
如何学习Swoole
-
实现swoole的特性的功能点
-
多看其他现有的swoole案例代码
源码安装PHP7
下载PHP7.2.2,以下为操作步骤
- 解压
- configure
- make
- make install
以下为操作实例
#将代码下载到Linux服务器/opt目录下,解压
cd /opt
yum install -y bzip2
tar -xjvf php-7.2.2.tar.bz2
#安装编译器,及其他依赖包
yum install -y gcc libxml2-devel
./configure --prefox=/home/work/study/soft/php
cd php-7.2.2
make
make install
#添加别名
echo 'PATH=$PATH:/home/work/study/soft/php/bin/' >> /etc/profile
source /etc/profile
#查看PHP版本
php -v
#查看安装模块
php -m
#写入文件测试
echo '<?php echo time();?>' > test.php
#php执行测试文件
php test.php
#查看php.ini的配置路径
php -i | grep php.ini
#根据上面获取的路径,复制配置文件
cp /opt/php-7.2.2/php.ini-development /home/work/study/soft/php/lib/php.ini
源码安装Swoole
下载Swoole源码
yum install -y git autoconf gcc-c++
git clone https://gitee.com/swoole/swoole.git
cd /home/work/swoole
#phpize是用来扩展php的扩展模块的,通过phpize可以建立php的外挂模块
phpize
#################返回结果如下#####################
#Configuring for:
#PHP Api Version: 20170718
#Zend Module Api No: 20170718
#Zend Extension Api No: 320170718
######################################
#文件中多出了configure文件
./configure --with-php-config=/home/work/study/soft/php/bin/php-config
make
make install
#################返回结果如下#####################
#Installing shared extensions: /home/work/study/soft/php/lib/php/extensions/no-debug-non-zts-20170718/
#Installing header files: /home/work/study/soft/php/include/php/
######################################
#查看swoole.so文件
ll /home/work/study/soft/php/lib/php/extensions/no-debug-non-zts-20170718/
PHP+Swoole配和使用
#php.ini中添加swoole扩展
echo "extension=swoole" >> /home/work/study/soft/php/lib/php.ini
#检查swoole模块是否启用
php -m | grep swoole
#进入到示例文件
cd /home/work/swoole/examples/server
#执行示例文件
php echo.php &
#检查端口
ss -lnatup | grep 9501
#################返回结果如下#####################
tcp LISTEN 0 128 *:9501 *:* users:(("php",pid=114386,fd=3))
######################################
总结
Swoole的安装方式,对于其他PHP的扩展也适用