CGI、FastCGI、PHP-CGI 和 PHP-FPM 的区别是什么?

请尝试在评论区里写下答案(如不能清楚表述,那么你可能没真正理解)。欢迎参与,为下一次求职做准备。

如题

摈弃世俗浮躁,追求技术精湛
Summer
讨论数量: 2

CGI 可以理解为一个php进程,在收到请求后,由web服务器创建处理请求并返回结果 FASTCGI可以理解为php进程池。在服务区上一次启动多个CGI进程待命,处理web服务器的请求。 PHP-CGI 是php自带的一种fastcgi管理器 php-fpm 是用来管理php-cgi的

2年前 评论

CGI、FastCGI、PHP-CGI和PHP-FPM是与服务器端编程和PHP解释器相关的几个概念,它们在实际应用中有以下区别:

CGI(Common Gateway Interface):CGI是一种标准协议,用于服务器与外部应用程序(通常是脚本)之间进行通信。在传统的CGI模式中,每个请求都需要启动一个独立的进程来处理,这会导致性能问题。

FastCGI:FastCGI是一种改进的CGI协议,旨在提高性能和效率。它引入了一个长期运行的进程管理器,可以在多个请求之间保持持久连接,从而避免了重复的进程启动和关闭,提高了性能和吞吐量。

PHP-CGI:PHP-CGI是PHP解释器的一种实现方式,它可以作为一个独立的CGI程序来处理HTTP请求。每个请求都需要启动一个独立的PHP-CGI进程来执行PHP代码。

PHP-FPM(PHP FastCGI Process Manager):PHP-FPM是一个针对FastCGI的PHP进程管理器,它可以替代传统的PHP-CGI,提供更好的性能和扩展性。PHP-FPM使用一个主进程和多个工作进程来处理请求,工作进程可以长期运行,并通过连接池的方式处理多个请求。

综上所述,CGI是一种通用的服务器与应用程序之间的通信协议,FastCGI是对CGI的改进,PHP-CGI是PHP解释器的一种实现方式,而PHP-FPM是一个用于管理PHP进程的高性能进程管理器,能够提供更好的性能和扩展性。在实际应用中,PHP-FPM通常被认为是较为优秀的PHP进程管理器,推荐在生产环境中使用。

9个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!