CGI

CGI:通用网关接口(Common Gateway Interface),是Web 服务器和请求处理程序之间传输数据的一种标准或协议,只要遵循这个标准就可以用任何动态语言实现处理程序。

通常所说的CGI是指CGI程序,即实现了CGI接口标准的程序。

CGI程序的工作方式

Web服务器一般只处理静态文件请求(如 jpg、htm、html),如果碰到一个动态脚本请求(如php),web服务器主进程,就fork出一个新的进程来启动CGI程序,也就是将动态脚本请求交给CGI程序来处理。启动CGI程序需要一个过程,比如,读取配置文件,加载扩展等。CGI程序启动后,就会解析动态脚本,然后将结果返回给Web服务器,最后Web服务器再将结果返回给客户端,刚才fork的进程也会随之关闭。

这样,每次用户请求动态脚本,Web服务器都要重新fork一个新进程,去启动CGI程序,由CGI程序来处理动态脚本,处理完后进程随之关闭。

这种工作方式的效率是非常低下的。

FastCGI

FastCGI,主要行为是将CGI解释器进程保持在内存中并因此获得高效的性能。

FastCGI进程管理器需要单独启动,启动FastCGI后,会生成一个FastCGI主进程和多个子进程(子进程其实就是CGI解释器进程)。

当客户端请求Web服务器上的动态脚本时,Web服务器会将动态脚本通过TCP协议交给FastCGI主进程,FastCGI主进程根据情况,安排一个空闲的子进程来解析动态脚本,处理完成后将结果返回给Web服务器,Web服务器再将结果返回给客户端。该客户端请求处理完毕后,FastCGI子进程并不会随之关闭,而是继续等待主进程安排工作任务。

PHP-FPM

PHP-FPM,FastCGI进程管理器(FastCGI Process Manager),提供了更好的PHP进程管理方式,可以有效控制内存和进程、可以平滑重载PHP配置等。

cgi标准面试php,PHP面试:简述CGI、FastCGI和PHP相关推荐

  1. 10次面试9次被刷?其实更多是面试实力和面试技巧不匹配罢了

    很多Java工程师的技术不错,但是一面试就头疼,10次面试9次都是被刷,过的那次还是去了家不知名的小公司. 问题就在于:面试有技巧,而你不会把自己的能力表达给面试官. 应届生:你该如何准备简历,面试项 ...

  2. 刷题百道却跪在白板面试?白板面试FAQ为你答疑解惑

    专栏 | 九章算法 网址 | www.jiuzhang.com 你花了大量的时间学习如何编程.学习如何创建项目.终于你通过自己的努力收到了梦寐以求的公司发来的面试邀请函.但是这时候,你却发现你的面前又 ...

  3. cgi web 调用多次启动_CGI、FastCGI和PHPFPM有什么关系呢?

    文章来自:php自学中心网站 链接:http://www.startphp.cn/front/php/0108111.html 作者:磊丰 商务合作:请加微信(QQ):2230304070 文章正文 ...

  4. php cgi路径解析,php.ini中的cgi.fix_pathinfo选项

    PHP里经常要获取当前请求的URL路径信息.一般可以通过环境变量$_SERVER['PATH_INFO']获取,而配置文件中的cgi.fix_pathinifo选项则与这个值的获取相关.而$_SERV ...

  5. 面试官是怎样高效面试的(面试官的“套路”

    大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

  6. java游戏服务器面试_服务器 面试

    Linux工作常见的面试题 linux运维工程师在面试的时候经常会被问到各种问题,接下来小编根据自己的经验将面试题整理下来供大家参考.linux面试题整理linux面试题整理 取出文件aaa.txt的 ...

  7. 面试官怎样面试出合格的技术人员

    现在都说人才难得,很多互联网公司特别是小公司都在抱怨没有好的技术人才,招聘进来的人大多技术不怎么样,优秀的技术人才根本招不到. 互联网行业的小公司基本都是社会招聘技术人员,很少有培养新人的.那么如何招 ...

  8. IT人面试秘籍:面试官背后的小心思都在这儿

    又是一年的毕业季,大批人才将迈出象牙塔:拿完年终奖的职场老鸟们,也在考虑着跳槽到新的公司:一年中最激烈的求职战,开启了. 某大厂资深HR总结出这样一个公式--offer=心态×(实力+面试技巧)+运气 ...

  9. 美团面试,360面试 ,滴滴面试,阿里面试,百度面试,京东面试,搜狗面试:

    一.基础知识:   1.CurrentHashMap的数据结构,Java1.8 与 java 1.7的区别,增加了那些特性 这个其实是考了一下编程思路,hashMap(链表+数组)==>1.8之 ...

  10. php面试 思维,去面试,为什么被说「缺少结构化思维」?

    去面试,为什么被说「缺少结构化思维」? 以下文章来源于 PMBetter ,作者伍德安思壮 关注并将「人人都是产品经理」设为星标 每天早 07 : 45 按时送达 产品经理在日常工作中会遇到很多需求, ...

最新文章

  1. 让MySql支持表情符号(MySQL中4字节utf8字符保存方法)
  2. 个盘子的汉诺塔需要移动几步_图解汉诺塔问题( Java 递归实现)
  3. 80网口打印机ip固定工具_网络打印机端口用名称好是还是IP好?
  4. Java开发怎么达到年薪 50w ?我有一些想法和建议
  5. oracle12数据库安装步骤,ORACLE RAC 12C(12.2.0.1)数据库软件安装步骤
  6. vs2013和mysql连接_安装VS2013后与数据库的连接问题
  7. matlab实验符号计算答案,实验五matlab符号计算
  8. 作者:李喜莲(1992-),女,北京大学信息科学技术学院硕士生。
  9. SQl---基础整理6--数据库的创建
  10. mysql合集_Mysql数据库知识点合集
  11. mac双击文件打不开——设置鼠标连按速度
  12. 创建wincc项目提示无法连接到服务器,wincc 项目管理器 服务器不可用 无法连接到服务器...
  13. 差分 线宽 线距_做设计时线宽、线距规则设置多大比较好?
  14. 汽车洒水器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  15. CS书籍、代码资源下载网址
  16. 解决MySql保存数据java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x91\x87\xE5\x91...‘
  17. 苹果ll是什么版本_苹果12系列手机收到货如何验货?
  18. 键盘录入(身高和体重)
  19. 五分钟理解MVC三层架构
  20. 卷积学习与传统稀疏编码、ICA模型学习区别(逐步补充)

热门文章

  1. PVNet: 像素级投票网络估计6DoF位姿
  2. 深度学习之输入通道个数、卷积核通道个数,卷积核个数、输出通道个数的关系
  3. React Axios 请求解决跨域问题
  4. 欢迎使用人体运动检测与跟踪CSDN-markdown编辑器
  5. Welsh色彩迁移算法
  6. 数据科学 | Python数据科学常用库
  7. 【错误总结】Git- remote:error: this exceeds GitHub file size limit of 100.00 MB
  8. CLASSPATH的作用
  9. WPF加载相对路径的图片的解决方法
  10. Shiny平台构建与R包开发(二)——数据输入