关于php的运行机制问题有点疑惑。

最近在学习高并发,关于php的运行机制,我有点疑惑。
我自己是这样认为的: 比如 php接受一个请求,运行5秒钟(夸张点说),那么10:00 的时候如果同时有5个请求连接php , 那么是不是 其中一个请求首先被执行,然后其他4个处于阻塞(等待)中 ? 10:05 第一个请求执行完毕,然后执行第二个......
10:00 第一个开始执行
10:05 第二个开始执行
10:10 第三个开始执行



这这样的吗 ? 还是说 php 像 比如 浏览器这样,可以同时开多个窗口同时处理呢 ?

阅读 883
评论
    2 个回答

    PHP-FPM下,一个进程同一时刻只能处理一个请求,请求结束后不会关闭进程,但进程会释放资源。
    你可以这样理解,每来一个请求,PHP-FPM的工作进程会调用内置的PHP解释器执行脚本处理请求,完成后释放资源接着处理下一个请求,但工作进程本身是支持后台常驻的。
    另外,如果PHP跑在Swoole下,则PHP逻辑是常驻内存的,即PHP里的全局资源,包括定义的全局变量、函数、类,则都是常驻内存的。