一. 编译apache fastcgi模块
1. 编译mod_fastcgi.so
方式一: mod_fastcgi/Win32 目录下有mod_fastcgi.dsp和mod_fastcgi_AP2.dsp两个工程文件,但是无法用vc6打开,只能手动编译, 文章参见: http://blog.csdn.net/feisan/article/details/1813482
cl /ID:\Apache2.2\include /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "SHARED_MODULE" /FD /c *.c link /LIBPATH:D:\Apache2.2\lib /DLL /nologo /subsystem:console /incremental:no mod_fastcgi.obj fcgi_util.obj fcgi_protocol.obj fcgi_pm.obj fcgi_config.obj fcgi_buf.obj libhttpd.lib libapr-1.lib libaprutil-1.lib ws2_32.lib
cmd运行上述代码,会在当前目录生成 mod_fastcgi.dll,重命名至 mod_fastcgi.so
方式二:直接编辑 Makefile.nt
APACHE_SRC_DIR=D:\Apache2.2
LINK32_FLATGS = "$(APACHE_SRC_DIR)\lib\libhttpd.lib" "$(APACHE_SRC_DIR)\lib\libapr-1.lib" "$(APACHE_SRC_DIR)\lib\libaprutil-1.lib" , 将 "$(APACHE_SRC_DIR)\Release\ApacheCore.lib" 修改成前面内容即可, 因为apache2.2下没有 apachecore.lib
nmake -f Makefile.nt CFG=release, 则会在 Release 目录下生成 mod_fastcgi.dll
2. 编译 mod_fcgid.so, apache 官方推荐的 fastcgi 模块,目前最新版2.3.9
下载: mod_fcgid , windows上运行: nmake -f Makefile-fcgid.win INSTDIR="D:/apache2.2"
二. 编译fastcgi开发库
windows上编译比较简单,见README,运行 nmake -f Makefile.nt
三. 错误列表
1. Premature end of script headers: cgi_test.fcgi
配置 httpd.conf, 加载mod_fastcgi.so, 运行cgi程序,报错: (OS 109)管道已结束。: FastCGI: comm with server xxx aborted: GetOverlappedResult() failed
替换成 mod_fcgid.so ,再运行cgi程序,同样报错: (OS 109)管道已结束。: mod_fcgid: get overlap result error
原因: libfcg.dll 与 cgi_test.fcgi 程序版本不一致, libfcg.dll 是vs2010 release版, cgi_test.fcgi 是 vs2010 debug 版本,则会出现一些莫名其妙的错误, 必须保持版本一致性
当cgi_test.fcgi 为debug版本时,会出现下面错误:
* 调用 getenv("QUERY_STRING") 获取 apache 系统环境变量值为空
* 当依赖*.dll 与 cgi_test.fcgi 不在同一目录 /cgi-bin 时,无法正常启动 cgi 程序
2. windows上运行hello_fcgi.py 脚本,也报错: 'module' object has no attribute 'fromfd'
原因: 查找 soket.fromfd(),发现此函数只能用于unix, 难道这 mod_fastcgi 不能用于windows,上文测试用的版本分别为 mod_fastcgi-2.4.6,mod_fcgid-2.3.9
3. [error] (OS 2)系统找不到指定的文件。 : mod_fcgid: can't run D:/Program
[warn] (OS 2)系统找不到指定的文件。 : mod_fcgid: spawn process D:/Program Files/Apache2.2/cgi-bin/echo.fcgi error
原因: 系统找不到echo.fcgi,是因为apache安装在program files目录下,目录含空格而被截断了.将apache 安装在根目录即可
相关推荐
fastcgi fastcgi fastcgi fastcgi fastcgi
它提高了动态内容处理的效率,减轻了Web服务器的压力,因为FastCGI进程可以长期运行,而不是每次请求时启动新的进程。以下是对FastCGI安装文件及其组成部分的详细说明: 1. **FastCGI概述** - FastCGI是Fast ...
在构建Web服务器的过程中,Windows平台上的配置涉及到多个关键组件,如lighttpd、fastcgi以及PHP5。这些组件协同工作,使得动态内容得以在Web上高效地呈现。下面将详细阐述这些技术及其在Windows环境中的配置。 ...
Windows 2003 + IIS 6.0 环境下以 FastCGI 方式配置 PHP 在 Windows 2003 + IIS 6.0 环境下,以 FastCGI 方式配置 PHP 5.3.3 需要经过四个步骤:IIS 6.0 环境配置、下载 PHP 5.3.3、配置 PHP 和下载安装 Microsoft ...
在Windows环境下搭建PHP7、Nginx和FastCGI服务器是一项常见的任务,尤其对于开发者来说,这能够让他们在本地环境中快速测试PHP应用。下面将详细解释这个过程中的关键知识点。 首先,**PHP7**是PHP...
### Windows 下 Apache+FastCGI+PHP 的安装与配置详解 #### 一、概述 本文主要介绍了在 Windows 系统环境下如何安装与配置 Apache、FastCGI 和 PHP,使之能够协同工作并支持 PHP 应用程序的运行。通过本文的学习,...
Windows+IIS 环境下以 Fastcgi 方式配置 PHP 5.3.3 的方法 在 IIS 6.0 环境下配置 PHP,需要使用 Fastcgi 方式配置,因为 PHP 5.3.3 已经不再支持 ISAPI 配置。下面是配置的详细步骤: 步骤 1:IIS 6.0 环境配置 ...
fastcgi.impersonate = 1 cgi.rfc2616_headers = 1 cgi.fix_pathinfo = 1 cgi.force_redirect = 0 upload_tmp_dir =C:/php/temp extension_dir = "C:/php/temp" extension=php_bz2.dll extension=...
windows2012安装iis8.5+php(FastCGI)+MySQL环境搭建教程 绝对可以用,按图文步骤安装!亲测经验
标题中的“fastcgi-2.4.0安装包”指的是FastCGI的2.4.0版本,这是一个软件包,用于在Linux系统中部署和管理FastCGI服务。此版本可能包含了一些性能优化和新的功能特性,以便更好地支持现代Web环境。 描述中提到的...
IIS6(Internet Information Services 6.0)是微软在Windows Server 2003系统上提供的Web服务器。虽然IIS6默认支持CGI(Common Gateway Interface),但CGI在处理高并发请求时效率较低。因此,引入FastCGI可以极大地...
微软为了IIS更好支持PHP,优化PHP在IIS下解析程序
本资源的内容为:基于Qt的FastCGI跨平台编译成果(Windows版本)。 二、使用人群 QGIS编译、QGIS跨平台编译的人员或研究者。 三、使用场景及目标 在Windows环境下使用。 既可以支撑QGIS在Windows环境下的编译工作,...
FastCGI for IIS6.0是专为Windows Server 2003上的IIS6.0设计的,它允许IIS服务器与FastCGI接口进行通信,从而支持PHP等脚本语言。安装FastCGI插件后,IIS可以更加高效地处理PHP请求,使得Web应用程序的性能得到大幅...
9. **多线程编程**:根据FastCGI的常驻进程特性,可能需要利用多线程来处理并发请求,这就需要掌握Windows API或C++标准库提供的线程管理功能。 通过这个项目,初学者不仅可以学习到FastCGI与MySQL的基本结合,还能...
在构建高性能Web服务时,FastCGI是一种常用于Apache服务器与后端应用程序(如C++编写的动态内容处理程序)之间交互的技术。FastCGI能够有效地分担服务器负载,提高响应速度,因为它允许进程持久存在,而不是每次请求...
### Windows Server 2012 R2 IIS8.5 + PHP (FastCGI) + MySQL 环境搭建详解 #### 一、环境说明与准备 **操作系统**: Windows Server 2012 R2 **PHP版本**: php5.5.8 **MySQL版本**: MySQL5.6.15 为了确保搭建...
在 Windows 下,IIS 不支持 FastCGI,需要单独安装 FastCGI 组件。可以从微软官网下载 FastCGI 组件安装程序,下载地址为 ...