mod_php vs cgi vs fast-cgi

时间:2010-10-17 15:10:39

标签: php interpreter fastcgi mod-php

我一直在努力了解加载php作为apache模块与其他模块的确切含义/目的。

当php作为apache模块安装时,究竟会发生什么?例如,每次发出php请求或单独加载php模块时,是否会读取php-ini文件?

3 个答案:

答案 0 :(得分:24)

在mod_php,FastCGI和FPM中加载PHP模块时,将读取php.ini。在常规CGI模式下,必须在运行时读取配置文件,因为没有任何预先形成的进程。

我认为在Web服务器中运行PHP作为模块的唯一真正优势是配置可能更容易。当你在FastCGI或FPM模式下运行它时,你可以获得更好的性能,并且可以使用线程或偶数(而不是分叉)的Apache,或者当你完全抛弃Apache时。

答案 1 :(得分:14)

此链接可能有所帮助:http://2bits.com/articles/apache-fcgid-acceptable-performance-and-better-resource-utilization.html

  

结论

     

如果纯粹的速度是你所追求的,那么请使用mod_php。

     

但是,为了更好地利用资源和效率,请考虑迁移到   fcgid。

答案 2 :(得分:2)

在Apache模块的情况下加载模块时会读取php.ini。 PHP CGI像任何其他shell脚本一样使用php解释器可执行文件。由于每次调用都没有涉及状态,因此在CGI的情况下,每次都必须读取配置文件。