windows fastcgi「建议收藏」

windows fastcgi「建议收藏」一.编译apachefastcgi模块  1.编译mod_fastcgi.so  方式一: mod_fastcgi/Win32目录下有mod_fastcgi.dsp和mod_fastcgi_AP2.dsp两个工程文件,但是无法用vc6打开,只能手动编译,文章参见: http://blog.csdn.net/feisan/article/details/1813482…

大家好,又见面了,我是你们的朋友全栈君。

一. 编译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 安装在根目录即可 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159889.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Extjs grid设置单元格字体颜色,及单元格背景色

    Extjs grid设置单元格字体颜色,及单元格背景色转自:http://blog.csdn.net/suixufeng/article/details/7480170上面这种是最简单的,设定固定的某单元格中字体颜色。[javascript]viewplaincopy//————————————————–列头    var cm = new

    2022年7月11日
  • Arduino智能小车设计(一)「建议收藏」

    Arduino智能小车设计(一)「建议收藏」这一个月来距离实验室纳新后,已经过去一个月左右了。听取了学长的建议,这段时间也一直在搞Arduino这个软件,还算不错的认识了这个开源软件。(自我认为。。)但是现在的依旧是一个小萌新,不说在软件代码的掌握程度,现在连有些最基本的硬件的名字也都叫不上来几个。。。不过还好,自己也不是单打独斗,通过和同组成员的讨论也还算是一点一点进步吧。最幸运的是,每次我遇到不会的东西,他们都可以帮我解答。从今天…

    2022年10月17日
  • 如何对图像进行卷积操作[通俗易懂]

    如何对图像进行卷积操作[通俗易懂]1、首先先了解下什么是卷积呢?2、卷积操作:卷积核与原图对应位置相乘再求和;然后将所求和放在被卷积操作的图中心位置。上图表示一个8×8的原图,每个方格代表一个像素点;其中一个包含X的方格是一个5×5的卷积核,核半径等于5/2=2;进行卷积操作后,生成图像为上图中包含Y的方格,可以看出是一个4×4的生成图;通过比较观察可以发现,生成图比原图尺寸要小,为了保证生成…

    2022年5月11日
  • .NET/C#发起GET和POST请求的几种方法

    .NET/C#发起GET和POST请求的几种方法

    2021年6月13日
  • IOS_OC_地图与定位

    IOS_OC_地图与定位知识点介绍一.定位实现一次定位CLLocation对象介绍实现持续定位请求用户授权二.地理编码正地理编码反地理编码三.地图的基本使用显示用户位置设置地图显示类型根据用户位置显示对应的大头针信息设置以用户所在位置为中心点监听地图显示区域改变iOS9新特性-显示交通状况/显示比例/显示指…

    2022年7月26日
  • react-navigation重复点击多次跳转的解决方案

    react-navigation重复点击多次跳转的解决方案废话在react-native@0.44版本之后,官方废弃了之前的导航Navigator,用react-navigation替代react-natvigation于2017年1月份开源,在3个月时间内,GitHub上star数达4000+,备受推崇,由于其性能体验堪比原生,而且使用方便,最后被FB钦点为“御用导航”但是在使用过程中还是发现了一个问题:在触发页面跳转的View上重复、快

    2022年5月7日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号