一个PHP Web程序的执行过程
- 请求开始 (GET/Post/Cookie/Session)
- Mysql数据库查询/Redis查询
- 模板渲染输出HTML/json_encode
- 请求结束(回收所有内存和资源)
PHP-FPM进程的完整流程
- 请求1 处理请求 发送响应
- 请求2 处理请求 发送响应
- 请求3 处理请求 发送响应
- 。。。。
Accept->Recv(处理)->Send->Close->Accept->Recv->Send->Close
多进程并发地处理请求
- 进程1 请求1->请求2->……->请求N
- 进程2
- 进程3
- …
- 进程N
扩展
- stream
- sockets
- libevent/event
- pcntl/posix
- pthread
- sysvsem/sysvmsg
- shmop/sysvshm
PHP同步阻塞
1 | $serv = stream_socket_server("tcp://0.0.0.0:8000",$errno,$errstr) or die ("服务创建失败"); |