PHP运行原理

PHP生命周期
一、模块初始化(php_module_startup())
二、请求初始化(php_request_startup())
三、执行脚本(php_execute_script())
四、请求关闭(php_request_shutdown())
五、模块关闭(php_module_shutdown())
cli模式下,每次执行脚本都会经历上面5个阶段。FastCGI模式下,会在php-fpm的worker进程启动时执行第1步模块初始化,而后会一直执行三、四、5这几个阶段,直到worker进程关闭时执行第5步,模块关闭。php

sapi是PHP的入口层,是进入PHP内核的入口。nginx

nginx:启动一个主进程master,master进程再建立n个(通常根据cpu个数肯定)worker进程。master进程只是用来管理worker进程,worker进程用来接收和处理请求。
php-fpm:也是启动一个主进程,主进程再管理子进程(worker)。一般咱们能够配置多个进程池,每一个进程池监听不一样的接口,统一由master进程管理。web