CentOS7 安装PHP7的swoole扩展:
一、绪
Swoole简介
PHP异步网络通信引擎
最终编译为so文件作为PHP的扩展
准备工作
Linux环境
PHP7 swoole2.1 redis
源码安装PHP7 源码安装swoole
https://www.cnblogs.com/cshaptx4869/p/10395744.html
定时器
swoole_timer_tick 每隔一定时间执行,毫秒
swoole_timer_after 一定时间后执行,毫秒
swoole_timer_clear 清除定时器
异步文件系统IO(4.3版本之前)
swoole_async_readfile 异步读取文件内容
执行顺序:1、先读取文件 2、再执行下码 3、最后执行回调
读取的文件不能超过4M
swoole_async_read
swoole_async_writefile
执行顺序和 readfile 相同
swoole_async_write
异步MySQL客户端
使用场景
请求文章详情页 -> mysql 文章+1 -> 页面数据展示
异步redis
进程
进程就是正在运行的程序的一个实例。
内存
Table
Table一个基于共享内存和锁实现的超高性能,并发数据结构。用于解决多进程/多线程数据共享和同步加锁问题。Atomic
Atomic是Swoole底层提供的原子计数操作类,可以方便整数的无锁原子增减。
协程
二、安装
> wget https://github.com/swoole/swoole-src/archive/v4.3.5.tar.gz
> tar xzvf v4.3.5.tar.gz
> cd swoole-src-4.3.5/
> phpize
> ./configure --with-php-config=/usr/local/php71/bin/php-config --enable-http2 --enable-openssl
> make && make install
> echo 'extension=swoole.so' >> /usr/local/php71/lib/php.ini
> systemctl restart php-fpm.service
如果使用hyperf框架修改php.ini配置文件
swoole.use_shortname = 'Off'
$ php --ri swoole

三、nginx+swoole配置
erver {
root /data/wwwroot/;
server_name local.swoole.com;
location / {
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header X-Real-IP $remote_addr;
if (!-e $request_filename) {
proxy_pass http://127.0.0.1:9501;
}
}
}
#通过读取$request->header['x-real-ip']来获取客户端的真实IP
四、手册
https://toxmc.github.io/swoole-cs.github.io/
demo: https://www.helloweba.net/tag/swoole.html
CentOS7 安装PHP7的swoole扩展:的更多相关文章
- centos7安装PHP7的redis扩展
前言: 在本篇博客中,我将给大家介绍如何在Centos7上安装PHP-Redis扩展,关于如何在Centos上安装redis的,可以参考另外一篇博客:Centos7安装redis 想要在php中操作r ...
- Centos7 安装php7.3 并扩展 MySQL、postgresql
首先是安装需要的扩展文件 yum -y install freetype-devel yum -y install libpng-devel yum -y install libjpeg-devel ...
- CentOS7 安装PHP7的redis扩展:
phpredis-4.2.0.tar.gz:下载:wget https://github.com/phpredis/phpredis/archive/4.2.0.tar.gz $ tar -z ...
- Centos7 安装PHP7版本及php-fpm,redis ,php-redis,hiredis,swoole 扩展安装
============================PHP7.1 ========================================= 1. 更换rpm 源,执行下面两个 rpm - ...
- Centos7安装gearman和php扩展
Centos7安装gearman和php扩展 标签(空格分隔): php,linux gearman所需要的依赖 yum install \ vim \ git \ gcc \ gcc-c++ \ w ...
- centos6下安装php7的memcached扩展
安装php7的memcached扩展 .编译安装libmemcached- wget https://launchpadlibrarian.net/165454254/libmemcached-1.0 ...
- window下安装php7的memcache扩展
安装memcache:http://www.runoob.com/memcached/memcached-connection.html1.4.4 c:\memcached\memcached.exe ...
- php----------linux下安装php的swoole扩展
1.首先你已经安装好了php环境,这里就不介绍php环境的安装了.如果你是编译安装记得将php加入环境变量,以便于方便查看扩展是否安装成功. 2.我安装的php环境缺少了要给东西,详细看下图 如果你没 ...
- CentOS7 安装 PHP7.2
点击查看原文 安装源 安装 EPEL 软件包: $ sudo yum install epel-release 安装 remi 源: $ sudo yum install http://rpms.re ...
随机推荐
- 最新版自动检测卡片类型工具软件版本(auto check card type v3.2.0)
自动检测卡片类型工具软件. 卡片放到读卡器上面自动识别卡片类型,不需老是按下按钮,好用,方便.支持自动识别NTAG213卡片,NTAG215卡片, NTAG216卡片,Ultralight芯片, Ul ...
- oracle查询表统计行数与注释
SELECT TABLE_NAME,NUM_ROWS,(select COMMENTS from user_tab_comments WHERE TABLE_NAME=C.TABLE_NAME) FR ...
- VBA 学习笔记 - 运算符
学习资料:https://www.yiibai.com/vba/vba_operators.html 算术运算符 加减乘除模指,这个没啥特别的. 比较运算符 和 Lua 相比,判断相等变成了一个等于号 ...
- ProtoBuf试用与JSON的比较
介绍 ProtoBuf 是google团队开发的用于高效存储和读取结构化数据的工具.什么是结构化数据呢,正如字面上表达的,就是带有一定结构的数据.比如电话簿上有很多记录数据,每条记录包含姓名.ID.邮 ...
- Spring Boot 学习方法论-如何正确的入门 Spring Boot
想要入门 Spring Boot,那么什么样的教程是符合初学者学习的(没有太多的Java基础但有一些程序基础或者软件编程知识). 这恰好能够勾出很多问题,比如是文章图文教程适合还是视频教程适合零基础初 ...
- ROS机器人系统学习——踩坑之路
推荐学习教程:深蓝学院 机器人操作系统ROS理论与实践学习 在学习到第2讲ROS基础的分布式通信时,一直卡在这里,主机开启小海龟后,从机虽然可以通过 rostopic list 列出当前的所有topi ...
- Ubuntu 12.10 安装vim出错
在Ubuntu 12.10中安装vim时出现了如下提示: 正在读取软件包列表... 完成正在分析软件包的依赖关系树 正在读取状态信息... 完成 有一些软件包无法被安装.如果您用的是 unstable ...
- Update(stage3):第1节 redis组件:4、安装(略);5、数据类型(略);6、javaAPI操作;
第三步:redis的javaAPI操作 操作string类型数据 操作hash列表类型数据 操作list类型数据 操作set类型的数据 详见代码
- PhpStorm For Mac 安装使用及 Php 开发的 ‘Hello World’
PHP全称为:Hypertext Preprocessor,中文名为:『超文本预处理 器』是一种通用开源脚本语言,主要用于Web应用开发(俗称做网站或 者做后台!) 编译软件:PHPStorm for ...
- 洛谷 P2925 [USACO08DEC]干草出售Hay For Sale
嗯... 题目链接:https://www.luogu.org/problemnew/show/P2925 这是一道简单的01背包问题,但是按照正常的01背包来做会TLE一个点,所以要加一个特判(见代 ...