一丶cgi协议模式

  cgi模式通用网关接口(Common Gateway Interface),它允许web服务器通过特定的协议与应用程序通信,
调用原理大概为:用户请求->Web服务器接收请求->fork子进程 调用程序/执行程序->程序返回内容/程序调用结束->web服务器接收内容->返回给用户,由于每次用户请求,都得fork创建进程调用一次程序,然后销毁进程,所以性能较低

二丶fast-cgi协议模式

  fast-cgi是cgi模式的升级版,它像是一个常驻型的cgi,只要开启后,就可一直处理请求,不再需要结束进程,
调用原理大概为:web服务器fast-cgi进程管理器初始化->预先fork n个进程用户请求->web服务器接收请求->交给fast-cgi进程管理器->fast-cgi进程管理区接收,给其中一个空闲fast-cgi进程处理->处理完成,fast-cgi进程变为空闲状态,等待下次请求->web服务器接收内容->返回给用户

三丶模块模式

  apache+php运行时,默认使用的是模块模式,它把php作为apache的模块随apache启动而启动,接收到用户请求时则直接通过调用mod_php模块进行处理。

​ 模块模式是以mod_php5模块的形式集成,此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求,并处理这些请求,然后将处理后的结果返回给Apache。如果我们在Apache启动前在其配置文件中配置好了PHP模块(mod_php5),PHP模块通过注册apache2的ap_hook_post_config挂钩,在Apache启动的时候启动此模块以接受PHP文件的请求

四丶php-cli模式

​   php-cli模式属于命令行模式,对于很多刚开始学php就开始wamp,wnmp的开发者来说是最陌生的一种运行模式。该模式不需要借助其他程序,直接输入php xx.php 就能执行php代码,命令行模式和常规web模式明显不一样的是:

- 没有超时时间
- 默认关闭buffer缓冲
- STDIN和STDOUT标准输入/输出/错误 的使用
- echo var_dump,phpinfo等输出直接输出到控制台
- 可使用的类/函数 不同
- php.ini配置的不同

最新文章

  1. Netty入门学习
  2. 2、Runtime Area Data
  3. win server 2008 r2 sharepoint 域环境安装经历
  4. error: linker command failed with exit code 1 解决方法之一
  5. mvc-4控制器和状态(2)
  6. eclipse jsp 加载服务器tomcat
  7. showModalDialog-父窗体子窗体
  8. js函数知识点
  9. PHP 生成.csv 文件并下载到浏览器
  10. Python打印格式化与字符串
  11. 维吉尼亚密码java代码实现根据密钥长度计算IC值过程
  12. 转:apache 的mod-status
  13. Glide加载圆形图片
  14. [进程管理]linux 下 进程和线程的区别(baidu 面试)
  15. PHP获取文件扩展名的五种方式
  16. 【转】GPS基线解算模式
  17. 查看linux空间大小
  18. spring boot项目配置跨域
  19. 在vs.net 2010,2015 等版本,给JS函数添加代码提示\注释
  20. tomcat 反代配置

热门文章

  1. pandas入门之Series
  2. Ubuntu18.04 桌面系统的个人吐槽(主要是终端)
  3. produceTestDate
  4. 虚拟化技术实现 — KVM 的 CPU 虚拟化
  5. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_15-页面静态化-模板管理-模板管理业务流程
  6. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_08-freemarker基础-空值处理
  7. Linux云服务器磁盘不见了?解决方案在这里,云服务器磁盘挂载
  8. 使用apache commons csv解析del(类似csv)格式文件
  9. asp.net mvc 中Html.ValidationSummary显示html
  10. EasyNetQ使用(四)【Request与Response,Send与Receive】