有几个不同的PHP“包装”(?)。 他们之间有什么分别? 试图谷歌一些,但似乎无法find信息。 (mod-php不是googleable的)。
为什么我可以select一个呢?
这个问题有点奇怪,不清楚你只是问PHP还是你的问题更一般。
我会给你一个PHP方面的简要概述。
首先,两个协议:
CGI脚本是如何在HTTP请求到来时运行服务器端脚本的一种方式; 这与PHP无关
FastCGI是一个“更好的CGI” – CGI被认为是缓慢的,快速的CGI是一个不同的方法,更快的结果; 这也与PHP无关。
现在的PHP相关的东西:
mod_php运行PHP作为Apache模块 – 也就是说PHP请求在Apache进程下运行,所有与之相关的进程 – Apache进程由Apacheconfiguration定义,PHP运行于Apache权限等。
PHP-FPM是PHP的FastCGI实现; PHP-FPM作为独立的FastCGI服务器运行,Apache使用Apache的模块(通常是mod_fcgid或mod_fastcgi)连接到服务器; 我个人认为这比运行mod_php好得多,但这取决于你的要求,也有点复杂。 在这个configuration中,权限,处理相关的东西和所有东西都在PHPconfiguration,PHP用户等下运行。Apache连接到PHP服务器; 在这个configuration中,也可以拥有PHP服务器池,并使PHP服务器与Apache的物理机器不同。 他们说这几乎和使用Apache模块一样快,并且有更好的控制PHPconfiguration的好处。
SuPHP – 这主要是用来解决与权限有关的mod_php的一些问题; 使用mod_php PHP脚本在Apache用户/组下运行; mod_suphp可以运行不同用户的脚本; 我从来没有使用它,PHP-FPM现在应该是更好的select
所以,基本上: