首页 > Web开发 > 详细

php运行模式

时间:2021-04-03 12:52:48      阅读:12      评论:0      收藏:0      [点我收藏+]
cgi协议模式 通用网关接口
  • web服务器接收请求->fork子进程调用程序/执行程序->程序返回内容->程序调用结束->web服务器接收内容,返回给用户,由于每次请求,都得fork创建进程调用一次程序,然后销毁进程,性能较低;
fastcgi协议模式 通用网关接口
  • fastcgi是cli模式的升级版,是一个常驻型的cig,开启后,就一直处理请求,不在需要结束进程,web请求->服务器接收请求->交给fast-cgi进程管理器->fastcgi进程管理区接收,给其中一个空闲fastcgi进程处理,处理完成fastcgi进程变为空闲状态,等待下次请求,web服务器接收内容->返回给用户;
模块模式
  • apache+php运行时,默认使用模块模式,把它作为apache模块启动而启动,接收用户请求则通过调用mod_php模块进行处理;
php-cli模式
  • php-cli模式属于命令行模式
  • 没有超时时间
  • 默认关闭buffer缓冲
  • STDIN和STDOUT标准输入/输出/错误的使用
  • echo var_dump属于直接到控制台
  • 可使用的类函数不同
  • php.ini配置不同
php-fpm FastCGI 进程管理器
  • 支持平滑停止/启动的高级进程管理功能;

  • 可以工作于不同的uid/gid/chroot环境下 ,监听不同的端口和使用不同的php.ini配置文件

  • 发生意外的时候能够重新启动并缓存被破坏的opcode;

  • 文件上传优化;

  • 慢日志-记录脚本(不仅读取文件名,还记录php backtrace信息。可以使用ptrace或类似工具读取分析远程进程的运行数据

  • 动态/静态子进程产生;

  • 用户请求-生成n个fastcgi协议处理进程-监听一个端口等待任务-web服务器接收请求-请求转发给php-fpm-交给一个空闲进程-进程处理完成-php-fpm返回给web服务器-服务器接收内容-返回给用户

php运行模式

原文:https://www.cnblogs.com/tanbinghao/p/14613156.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!