易截截图软件、单文件、免安装、纯绿色、仅160KB

FastCGI 不完全高级指南(PHP版,Windows平台)

一、FastCGI是什么?
FastCGI是语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。众所周知,CGI解释 器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性、Fail- Over特性等等。
FastCGI的官方站点在http://www.fastcgi.com
FastCGI的工作原理是:
1、Web Server 启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module);
2、FastCGI进程管理器自身初始化,启动多个CGI解释器进程 (在任务管理器中可见多个php-cgi.exe)并等待来自Web Server的连接。
3、当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi.exe。
4、FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在 WebServer中)的下一个连接。 在正常的CGI模式中,php-cgi.exe在此便退出了。
在上述情况中,你可以想象 CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。
二、为什么要使用FastCGI,而不是多线程CGI解释器?
这可能出于多方面的考虑,例如:
1、你无论如何也不能在windows平台上稳定的使用多线程CGI解释器,无论是IIS ISAPI方式还是APACHE Module方式,它们总是运行一段时间就崩溃了。奇怪么?但是确实存在这样的情况!
当然,也有很多时候你能够稳定的使用多线程CGI解释器,但是,你有可能发现网页有时候会出现错误,无论如何也找不到原因,而换用FastCGI方式 时这种错误的概率会大大的降低。我也不清楚这是为什么,我想独立地址空间的CGI解释器可能终究比共享地址空间的形式来得稳定一点点。
2、性能!性能?可能么,难道FastCGI比多线程CGI解释器更快?但有时候确实是这样,只有测试一下你的网站,才能最后下结论。原因嘛,我觉得很难讲,但有资料说在Zend WinEnabler的时代,Zend原来也是建议在Windows平台下使用FastCGI而不是IIS ISAPI或Apache Module,不过现在Zend已经不做这个产品了。
三、不使用FastCGI的理由
1、多进


相关文档:

《PHP 与 MySQL Web 开发》读书笔记 (一)

概述
1.PHP 是什么?
   PHP 是服务器端解释的脚本语言,它是目前最流行的 web 编程语言之一。  在一个 HTML 页面中可以嵌入PHP代码,这些代码在每次页面访问时执行。PHP 代码将在 Web 服务器中被解释并且生成 HTML或者访问者看到其他输出结果。
2.My SQL 是什么?
   My SQL 是基于 SQL 的完 ......

php 模板写法


<?php
/* @author: zhuyubing@gmail.com */
class Template{
        var $code;
        function Template($template){
            $this->code = implode('', @file($tem ......

在 Windows 下安装 PHP 开发环境(基于 Appserv)

1.Appserv 是什么?
  Appserv 是PHP网页架站工具组合包,可以将网络上免费的架站资源重新包装成单一的安装程序。它提供了简易、快速的PHP运行环境的搭建机制,读者只需按照普通应用软件的安装方式就可以完成Apache+MySQL+PHP+phpMyAdmin的安装与配置工作。
2.Appserv 下载地址
   http://www. ......

PHP初学

   现在对PHP感觉越来越顺手了,对HTML的标签越来越熟悉了,可是对PHP的插件的认识还为之甚少。
   但是,说实话,目前的我貌似也不需要使用PHP的插件,用插件的目的可能是为了显得比较牛吧,呵呵。
   但是还是踏踏实实的学习吧,毕竟额的C++还没有学,对于PHP的封装和编程一点也不了解。 ......

php八荣八耻

以动手实践为荣 , 以只看不练为耻;
以打印日志为荣 , 以单步跟踪为耻;
以空格缩进为荣 , 以制表缩进为耻;
以单元测试为荣 , 以人工测试为耻;
以模块复用为荣 , 以复制粘贴为耻;
以多态应用为荣 , 以分支判断为耻;
以Pythonic为荣 , 以冗余拖沓为耻;
以总结分享为荣 , 以跪求其解为耻; ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号