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