PHP-CGI和PHP-FPM都是处理PHP脚本的工具,但它们有不同的工作方式和用途。PHP-CGI是PHP的通用网关接口,它负责将用户请求与PHP解释器连接起来,并返回解释器处理后的结果。相比之下,PHP-FPM是PHP FastCGI进程管理器的缩写,它是PHP-CGI的一种特定实现,专门用于管理和调度PHP解释器进程。 问题2: 为什么选择使用PHP-FPM...
php-cgi与php-fpm一样,也是一个fastcgi进程管理器,php-cgi的问题在于 1、php-cgi变更php.ini配置后需重启php-cgi才能让新的php-ini生效,不可以平滑重启 2、直接杀死php-cgi进程,php就不能运行了。(PHP-FPM和Spawn-FCGI就没有这个问题,守护进程会平滑从新生成新的子进程。) 针对php-cgi的不足,php-fpm应运而...
CGI,FastCGI,PHP-CGI,PHP-FPM CGI 简介 CGI全称是“通用网关接口”(Common Gateway Interface),它可以让一个客户端,从网页浏览器向执行在Web服务器上的程序请求数据。 CGI描述了客户端和这个程序之间传输数据的一种标准。 CGI的一个目的是要独立于任何语言的,所以CGI可以用任何一种语言编写,只要这种语言具有标准...
③PHP-CGI:是 PHP (Web Application)对 Web Server 提供的 CGI 协议的接口程序。 ④PHP-FPM:是 PHP(Web Application)对 Web Server 提供的 FastCGI 协议的接口程序,额外还提供了相对智能一些任务管理。 ⑤WEB 中,Web Server 一般指Apache、Nginx、IIS、Lighttpd、Tomcat等服务器。 ⑥Web Application 一般指PHP、...
FastCGI是一个协议,PHP-FPM实现了这个协议。FastCGI是CGI的改进版,它是一个常驻内存的CGI服务。常用的PHP-FPM就是在这种模式下运行的,PHP-FPM负责Fork多个进程,每个进程都运行着PHP解释器。 php-fpm会开启多个php-cgi程序,并且php-fpm常驻内存,每次web serve服务器发送连接过来的时候,php-fpm将连接信息分配给下面其...
php-fpm: php-fpm是php提供给web serve也就是http前端服务器的fastcgi协议接口程序,它不会像php-cgi一样每次连接都会重新开启一个进程,处理完请求又关闭这个进程,而是允许一个进程对多个连接进行处理,而不会立即关闭这个进程,而是会接着处理下一个连接。它可以说是php-cgi的一个管理程序,是对php-cgi的改进。
php-cgi是早期php官方出品的fastcgi管理器,不支持平滑重启,改了php.ini就要kill掉原来的php-cgi再重新启动才能生效;不支持动态worker调度,只能一开始指定要起几个worker。 php-fpm是从5.3.3才加入的fastcgi进程管理器,加入了动态调度功能,可以根据请求来访压力变化动态增减worker进程数量;支持reload指令,让worker进程在完...
php-fpm是php的fast-cgi进程管理器,进程包含master进程和worker进程两种进程。master进程只有一个,负责监听端口,接收来自web服务器的请求,而worker进程则一般有多个(具体数量根据实际需要配置),每个进程内部都嵌入了一个 php解释器,是php代码真正执行的地方。
4、所以现在的php-fpm跟php和php-cgi都能解释php代码,只不过,php(强调一下这是可执行文件,在win下...
总结:php-fpm就是php-cgi的升级版(并非简单的在php-cgi的基础上升级,而且通过直接采用第三方代码的...