PHP缓存加速器原理

LAMP环境的PHP缓存加速器原理

在LAMP环境中,Apache服务是使用libphp5.so响应处理PHP程序请求的,整个流程如下:

1、Apache接收客户端的PHP程序请求并根据规则过滤。

2、Apache将PHP程序请求传递给PHP处理模块libphp5.so

3、PHP引擎定位磁盘上的PHP文件,并将其加载到内存中解析

4、PHP处理模块libphp5.so将PHP源代码编译成为opcode

5、PHP处理模块libphp5.so执行opcode,然后把opcode缓存起来

6、Apache接收客户端新的PHP程序请求,PHP引擎直接读取缓存执行opcode文件,并将结果返回。在这一次任务中,就无第4步的编译解析了,从而提升了PHP编译解析效率

 

LNMP环境PHP缓存加速器原理

在LNMP环境中,PHP引擎不再使用libphp5.so模块了,而是启动了独立的FCGI即php-fpm进程,由它监听来自nginx的PHP程序请求,并交给PHP引擎解析处理,整个执行流程大概如下:

1)Nginx接收客户端的PHP程序访问请求。

2)Nginx根据扩展名等过滤规则将PHP程序请求传递给解析PHP的FCGI进程(PHP-FPM)

3)PHP FPM进程调用PHP解析器读取站点磁盘上的PHP文件,并加载到内存中。

4)PHP解析器将PHP程序编译为opcode文件,然后把opcode缓存起来。

5)PHP FPM引擎执行opcode树,返回数据给Nginx,进而返回客户端。

6)Nginx 接收客户新的PHP程序请求,PHP FPM引擎就会直接读取缓存中的opcode执行,将结果返回,该过程中无需第4步操作,从而提升了PHP编译解析效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值