Apache 默认情况下不是以 FastCGI 模式运行 PHP,主要原因是 mod_php 模块的性能比 FastCGI 模式更高效。
mod_php 模块将 PHP 解释器嵌入到 Apache 服务器进程中,可以避免进程间通信带来的开销,提高了 PHP 脚本的执行效率。相比之下,FastCGI 模式需要启动外部的 FastCGI 进程来处理 PHP 脚本,而这些进程之间的通信会带来额外的性能开销。
此外,mod_php 模块的配置相对简单,只需要在 Apache 的配置文件中添加一些模块相关的指令就可以实现。而 FastCGI 模式需要额外安装和配置 FastCGI 进程,相对来说比较复杂。
需要注意的是,由于 mod_php 模块将 PHP 解释器嵌入到 Apache 服务器进程中,所以如果 PHP 脚本存在漏洞或者安全问题,攻击者可能会利用这些漏洞来攻击整个服务器系统。因此,在使用 mod_php 模块时,需要注意确保 PHP 脚本的安全性。
总之,Apache 默认使用 mod_php 模块的原因主要是为了提高 PHP 的执行效率和简化配置过程,而使用 FastCGI 模式则需要额外的安装和配置,相对来说比较复杂,需要根据实际需求进行选择。