我一直在努力了解加载php作为apache模块与其他模块的确切含义/目的。
当php作为apache模块安装时,究竟会发生什么?例如,每次发出php请求或单独加载php模块时,是否会读取php-ini文件?
答案 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的情况下,每次都必须读取配置文件。