php-fpm运行原理和模式的简单介绍
发布:smiling 来源: PHP粉丝网 添加日期:2020-01-15 15:59:17 浏览: 评论:0
本篇文章给大家带来的内容是关于php-fpm运行原理和模式的简单介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
运行原理:
cgi初始化阶段:分别调用fcgi_init()和 sapi_startup()函数,注册进程信号以及初始化sapi_globals全局变量。
php环境初始化阶段:由cgi_sapi_module.startup 触发。实际调用php_cgi_startup函数,而php_cgi_startup内部又调用php_module_startup执行。 php_module_startup主要功能:a).加载和解析php配置;b).加载php模块并记入函数符号表(function_table);c).加载zend扩展 ; d).设置禁用函数和类库配置;e).注册回收内存方法;
php-fpm初始化阶段:执行fpm_init()函数。负责解析php-fpm.conf文件配置,获取进程相关参数(允许进程打开的最大文件数等),初始化进程池及事件模型等操作。
php-fpm运行阶段:执行fpm_run() 函数,运行后主进程发生阻塞。该阶段分为两部分:fork子进程 和 循环事件。fork子进程部分交由fpm_children_create_initial函数处理( 注:ondemand模式在fpm_pctl_on_socket_accept函数创建)。循环事件部分通过fpm_event_loop函数处理,其内部是一个死循环,负责事件的收集工作。
运行模式:
php-fpm支持三种运行模式,分别为static、ondemand、dynamic,默认为dynamic 。
static: 静态模式,启动时分配固定的worker进程。
ondemand: 按需分配,当收到用户请求时fork worker进程。 ondemand: 按需分配,当收到用户请求时fork worker进程。
dynamic: 动态模式,启动时分配固定的进程。伴随着请求数增加,在设定的浮动范围调整worker进程
Tags: php-fpm
- 上一篇:php中变量知识的详细介绍
- 下一篇:php流程控制的知识总结(附示例)
相关文章
- ·php提示Undefined variable:引发的几个操作php-fpm等(2014-09-20)
- ·php-fpm出现Undefined variable几个解决办法(2014-09-21)
- ·php-fpm设置socket方式连接FastCGI(2016-02-16)
- ·关于CGI 和 PHP-FPM的对比分析(2016-08-22)
- ·PHP-FPM实现性能优化(2019-10-31)
- ·PHP-FPM是什么?PHP-FPM管理和配置的介绍(2019-12-30)
- ·php-fpm是什么?(2020-03-02)
- ·Opcache导致php-fpm崩溃nginx返回502(2021-05-15)
- ·PHP脚本监控Nginx 502错误并自动重启php-fpm(2021-05-26)
- ·mod_php、FastCGI、PHP-FPM等PHP运行方式对比(2021-06-06)
- ·php-fpm超时时间设置request_terminate_timeout资源问题分析(2021-12-23)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)