欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

php提供的sapi有哪些?CGI、FastCGI、php-fpm、php-cgi解释

程序员文章站 2022-04-16 08:29:15
一、前言 一直对PHP的sapi是什么东西好奇,在网上一查都是各种说fpm cgi fastcgi php cgi 直到看了鸟哥的这篇文章介绍 "戳这里" ,看到源码下的sapi目录才有所了解。 二、sapi是什么 了解下PHP的架构体系会知道sapi是PHP提供的一种供其他程序调用的接口(感觉接口 ......

一、前言

一直对PHP的sapi是什么东西好奇,在网上一查都是各种说fpm cgi fastcgi php-cgi

直到看了鸟哥的这篇文章介绍戳这里,看到源码下的sapi目录才有所了解。

二、sapi是什么

了解下PHP的架构体系会知道sapi是PHP提供的一种供其他程序调用的接口(感觉接口这词好像不太准确,欢迎纠正),通过sapi其他程序就可以执行PHP脚本。

具体提供的sapi有:

  • apache2handler
  • cgi
  • cli
  • embed
  • fpm
  • litespeed
  • phpdbg

三、

cgi

自己认为的和这个链接里的差不多戳这里 ,CGI是一种web server和外部程序定好数据参数的协议,php-cgi刚好这样的CGI程序,每次请求过来都要启动;

fastcgi

是因为每次都要启动CGI,要加载各种配置,初始化,所以出了fastcgi这种协议,可以不用每次启动CGI程序

php-fpm

php-fpm正是实现了fastcgi的一种sapi,看上面的sapi列表里的fpm就是了,在编译PHP时,有个

'--enable-fpm'
引用百度百科对于PHP5.3.3之前来说,是个补丁包,旨在将FastCGI进程管理整合进PHP包中,也就是说5.3.3之后已经自动编译进PHP里了

php-cgi

理解了上面的CGI后,这个就是PHP实现CGI的程序(~~待定,并不是很确信)

上一篇:

标签的应用

下一篇: php使用CURL伪造IP和来源实例详解