zoukankan      html  css  js  c++  java
  • php提供的sapi有哪些?CGI、FastCGI、php-fpm、php-cgi解释

    一、前言

    一直对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-FPM更深的源码解析在这儿

    php-cgi

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

    如有任何疑问,欢迎留言讨论!

  • 相关阅读:
    iOS提醒用户进入设置界面进行重新授权通知定位等功能
    JQ获得ul li 值导成字符串
    “真的”
    原来还有插入代码功能 我还挨个缩进呢 好白菜啊
    ffmpeg 批处理
    DW english
    CI 分页“第一页”问题
    Discuz论坛发帖统计
    我的产品被评为一个“玩具”
    根据css文件采集图片
  • 原文地址:https://www.cnblogs.com/efan/p/8485091.html
Copyright © 2011-2022 走看看