linux上PHP三种运行方式

转载 2013年06月12日 01:22:41

APACHE2HANDLER
PHP作为Apache模块,Apache服务器在系统启动后,预先生成多个进程副本驻留在内存中,一旦有请求出现,就立即使用这些空余的子进程进行处理,这样就不存在生成子进程造成的延迟了。这些服务器副本在处理完一次HTTP请求之后并不立即退出,而是停留在计算机中等待下次请求。对于客户浏览器的请求反应更快,性能较高。

CGI
cgi方式遇到连接请求先要创建cgi的子进程,然后处理请求,处理完后结束这个子进程。这就是fork-and-execute模式。所以用cgi方式的服务器有多少连接请求就会有多少cgi子进程。子进程反复加载是cgi性能低下的主要原因。

CGI-FCGI
FastCGI像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一次。PHP使用PHP-FPM(FastCGI Process Manager),全称PHP FastCGI进程管理器进行管理。

FastCGI的工作原理
1、Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module)
2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi)并等待来自Web Server的连接。
3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi。
4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在Web Server中)的下一个连接。 在CGI模式中,php-cgi在此便退出了。

在上述情况中,你可以想象CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作

PHP后台守护进程的实现方式(Linux环境)

应用场景 某些情况下,我们需要持续的周期性的提供一些服务,比如监控内存或cpu的运行状况,这些应用与客户端是没有关系的,不是说客户端(如web界面,手机app等)关闭了,我们就不监控内存或cpu...
  • tdcqfyl
  • tdcqfyl
  • 2016年08月23日 10:53
  • 3871

linux上PHP三种运行方式

Befor entering the theme,i have to complain something. It was bad day for me today.I spent almost t...
  • ANLJF
  • ANLJF
  • 2011年12月19日 23:53
  • 4174

Linux下让redis以服务方式运行

安装好Redis之后,我们通常将redis添加到系统服务中使其开机启动。
  • niucsd
  • niucsd
  • 2017年02月21日 15:45
  • 603

Linux将php-fpm配置成服务

目前情况 开启php-fpm:/etc/init.d/php-fpm start 关闭php-fpm:/etc/init.d/php-fpm stop 这样让我很不爽 想要实现 像服务一样的...
  • motian06
  • motian06
  • 2013年12月25日 14:57
  • 8040

Linux(Centos)配置PHP运行环境

网址: http://blog.csdn.net/xiaoliouc/article/details/17639503粗暴拷贝: 一、安装 MySQL 首先来进行 MySQL 的安装。打开超级终...
  • a3895177
  • a3895177
  • 2015年11月02日 17:01
  • 2872

PHP后台守护进程的实现方式(Linux环境)

应用场景 某些情况下,我们需要持续的周期性的提供一些服务,比如监控内存或cpu的运行状况,这些应用与客户端是没有关系的,不是说客户端(如web界面,手机app等)关闭了,我们就不监控内存或cpu...
  • tdcqfyl
  • tdcqfyl
  • 2016年08月23日 10:53
  • 3871

linux命令行下运行php的方法和配置

首先找到php的安装目录,我这里安装到了/usr/bin/php, 前面的参数是php脚本的路径,后面的是执行php文件的路径。 配置 如果不希望每次执行时都输入php脚本的全部路径,可以进行...
  • wuhounuanyangzhao
  • wuhounuanyangzhao
  • 2017年12月07日 11:51
  • 41

在linux下,为php增加mbstring扩展

(php版本5.1.6,安装目录/usr/local/php,源代码目录/usr/software/php5.1.6):1、用cd命令进入php的源代码目录下的etc/mbstring目录下,即“/u...
  • xys_777
  • xys_777
  • 2011年06月27日 10:57
  • 4445

PHP目前比较常见的五大运行模式

运行模式 关于PHP目前比较常见的五大运行模式: 1)CGI(通用网关接口/ Common Gateway Interface) 2)FastCGI(常驻型CGI / Long-Live CGI) 3...
  • xujingzhong0077
  • xujingzhong0077
  • 2016年11月24日 09:39
  • 1641

如何在linux下搭载PHP(Apache)运行环境

说在前面众所周知,无论是学习WEB还是PHP技术,在自己熟悉的操作系统下尽快的搭载阿帕奇(apache)等 环境就显得格外的关键和必要。越快的熟悉,越能很快的从事到高效率的学习工作环境中去。安装流程1...
  • zhangxxkl
  • zhangxxkl
  • 2016年05月30日 19:37
  • 777
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:linux上PHP三种运行方式
举报原因:
原因补充:

(最多只允许输入30个字)