zl程序教程

您现在的位置是:首页 >  后端

当前栏目

php-fpm 是如何处理php 请求的

PHP 如何 处理 请求 FPM
2023-06-13 09:16:24 时间
PHP-FPM(PHP FastCGI Process Manager):PHP FastCGI 进程管理器,管理PHP 进程池的软件,用于接受web服务器的请求。

用来管理进程。比如:当worker不够用时,master可以根据配置预先启动几个worker等着;当然空闲worker太多时,也会停掉一些,这样就提高了性能,也节约了资源。

发展过程

在php5 之前,使用的是php-cgi 。当一个服务web-server(nginx)分发过来请求的时候,通过匹配后缀知道该请求是个动态的php请求,会把这个请求转给php。

  • cgi: 一个请求过来后,去读取php.ini的基础配置信息,初始化执行环境,每次都要不停的去创建一个进程,读取配置,初始化环境,返回数据,退出进程。
  • fastcgi: 一个请求过来后,先fork 一个master(主进程),解析配置文件,初始化执行环境,然后再fork多个worker(子进程)。当请求过来时,master 会传递给一个worker ,然后立即可以接受下一个请求。这样就避免了重复的动作,