理解PHP-FPM

本文深入探讨了PHP-FPM的工作原理,解释了它如何通过管理一个master主进程和多个worker进程来提高PHP的执行效率,相较于传统的PHP-CGI,PHP-FPM能够显著减少资源消耗和提升响应速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

php-fpm (php fastcgi process manager) : php fastcgi 进程管理器 ,用来管理一个master主进程和多个worker进程的程序。

1.为什么会出现php-fpm?

 fpm的出现全是因为php-fastcgi的出现,为了更好的管理php-fastcgi而实现的一个程序。

2.什么是php-fastcgi?

php-fastcgi 只是一个cgi程序,只会解析php请求,并且返回结果,不会管理(因此才出现了php-fpm)。

3.为什么是php-fastcgi 而不是 php-cgi?

其实在php-fastcgi之前有个php-cgi,只是它的执行效率太低下,因此被php-fastcgi取代。

4.fastcgi 和 cgi的区别:

  当一个服务web-service(nginx)分发过来请求的时候,通过匹配后缀知道该请求是个动态的php请求,会把这个请求转给php.

  在cgi的年代,思想比较保守,总是一个请求过来后,先去读取php.ini里面的基本配置信息,初始化执行环境,每次都要不停的去创建一个进程,读取配置文件,返回数据,退出进程,久而久之,启动进程的工作边的乏味特别累。

  在php来的的5.0的时代,大家对这种工作方式特别反感,想偷懒的人就想出来,我可不可以让cgi一次启动一个主进程(master),让他只读取一次配置,然后再启动多个工作进程(worker),当一个请求来的时候,通过master传递给worker这样就可以避免重复劳动力了,于是产生了fastcgi.

5. fastcgi这么好,启动的woker用完怎么办?

 当worker不够的时候,master会通过配置里面的信息,动态启动worker,等空闲的时候可以回收worker

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值