zoukankan      html  css  js  c++  java
  • PHP 工作原理

    cgi 协议

    cgi协议用来确定webserver(例如nginx),也就是内容分发服务器传递过来什么数据,什么样格式的数据

    php-cgi进程解释器

    php-cgi是php的cgi协议进程解释器,每次启动时 :

    需要经历加载php.ini文件->初始化执行环境->处理请求->返回内容给webserver->php-cgi进程退出的流程

    graph TD A[php.ini文件] -->|加载配置| B[初始化执行环境] B --> |接受webserver的请求|C[处理请求] C-->|返回内容| D[webserver] C-->|退出进程| E[关闭php-cgi进程]

    fastcgi协议

    fastcgi协议是对cgi协议效率提升的补充,主要是针对每次请求过来时都需要启动一个cgi解释器进程的优化,不再需要cgi解释器进程每次收到webserver请求后都需要重新加载php.ini文件和初始化执行环境

    php-fpm进程管理器

    php-fpm是对fastcgi协议的实现,是进程管理器,启动时包括master和worker进程俩部分,master进程监听端口,接收来自webserver请求,worker进程一般具有多个,每个worker进程都有一个cgi进程解释器,用来执行php代码

    php启动和工作原理

    启动phpfpm时,会启动master进程,加载php.ini文件,初始化执行环境,并启动多个worker进程。每次请求来时会将请求传递给worker进程进行处理

    php平滑重启原理

    每次修改完php.ini配置并重启后,会启动新的worker进程加载新的配置,而之前已经存在的进程会在工作完成之后销毁,因此实现平滑重启

    欢迎留言评论~
  • 相关阅读:
    发送短信验证(防刷新)
    JsRender 学习总结
    JsRender (js模板引擎)
    jQuery中ready与load事件的区别
    web端图片文件直传
    2018面对对象_作业三
    2018面对对象_作业二
    2018面对对象_作业一
    2018寒假作业_4(自我总结)
    2018寒假作业_3(电梯版本二)
  • 原文地址:https://www.cnblogs.com/issac-fan/p/phpfpm.html
Copyright © 2011-2022 走看看