PHP CGI(Common Gateway Interface)和FastCGI(Fast Common Gateway Interface)是两种不同的方式来处理PHP脚本。
1. CGI:CGI是一种通用的网关接口,它是一种进程外的处理方式。当Web服务器接收到一个请求时,它会启动一个CGI进程来处理该请求,并将请求传递给CGI进程。CGI进程会执行PHP脚本,并将结果返回给Web服务器,然后Web服务器将结果发送给客户端。每次请求都需要启动一个新的CGI进程,这会造成一定的性能损失。
2. FastCGI:FastCGI是一种改进的CGI协议。它与CGI的主要区别在于,FastCGI进程可以保持长时间运行,以便处理多个请求。当Web服务器接收到一个请求时,它会将请求传递给已经启动的FastCGI进程,而不是每次都启动一个新的进程。这样可以减少进程启动和关闭的开销,提高性能。FastCGI还支持并发处理请求,可以同时处理多个请求,提高了PHP脚本的运行效率。
总结:
- CGI是进程外的处理方式,每次请求都需要启动一个新的进程,性能较低;
- FastCGI是一种改进的CGI协议,支持长时间运行的进程,可以并发处理多个请求,性能较高。