Yog*_*ele 8 php apache multithreading multiprocessing
我想知道,当php(apache2)同时提出请求时,幕后会发生什么.
如果它是多线程模型,那么线程如何被管理以及并发请求的基准标记是什么.
Joe*_*ins 11
正确的答案是:PHP能够做到这两点,Apache也是如此.
使用prefork mpm,使用多进程模型,在服务器启动时分叉几个apache实例,然后初始化PHP解释器,每个进程一个解释器.
使用worker mpm,模型是基于线程的; 可以只有一个进程,对于Apache初始化的每个线程,它再次初始化一个PHP解释器.
在任何一种模式下,解释器的实例在prefork模式下彼此隔离,因为这是分叉工作的方式,而在工作模式下,因为TSRM,PHP的无所不在的部分,没有人真正谈论.