Apache和PHP的交互

假设我们有一个典型的LAMP设置。 当一个人请求用PHP编码的网页时,Apache级别会发生什么? Apache是​​否创build一个新的php实例来创build并返回该网页? 还是有一个持续运行的PHP实例?

基本上,这是我认为它的工作原理:

因此,只有一个PHP实例处理页面请求…我的想法是否正确呢?

这取决于你如何利用PHP。 如果你没有使用CGI / FastCGI(这会使你的语句正确),那么PHP实际上是在一个模块中运行的(请参阅/etc/httpd/conf.d/php.conf或httpd.conf中的include php模块) 。 这意味着,当Apache有一个孩子,每个进程已经有一个PHP的二进制文件。 所以,Apache运行解释器对一组钩子和页面呈现。

CGI是作为一个单独的过程执行的方法。