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

April 28, 2009 by SLJ | Category:Apache/Nginx, PHP | No Comment 3,225

今天又在配置服务器,又看到FastCGI,一直对其概念不是很明确,所以今天顺便就上网查了查明确一下,来源网上,转载过来

一、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)可以工作。

More »

半小时教你学会正则表达式

April 11, 2009 by SLJ | Category:Javascript, PHP | 1 Comment 4,090

Regular Expression Manual

今天发了一篇关于Apache Rewrite的日志,因为配置都是用正则表达式写的,就想翻翻以前的QQ空间,把关于正则表达式的内容贴出来。
因为是以前从网上摘的,也忘了是哪摘的了(以前没有写来源的习惯),不过在谷歌上把标题打进去会发现很多相同的文章。但是本帖结合了一些东西,所以会比原文内容丰富一些。

首先来看看百度百科的解释:一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。 [百度百科释义]

想必很多人都对正则表达式都头疼.今天,我以我的认识,加上网上一些文章,希望用常人都可以理解的表达方式.来和大家分享学习经验.
  开篇,还是得说说 ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明
  ”^The”: 开头一定要有”The”字符串;
  ”of despair$”: 结尾一定要有”of despair” 的字符串;
  那么,
  ”^abc$”: 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配
  ”notice”: 匹配包含notice的字符串
  你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边

   More »

↑ Top