首页 > 系统相关 >windows fastcgi

windows fastcgi

时间:2022-12-15 14:33:46浏览次数:66  
标签:cgi lib windows fcgi fcgid fastcgi mod


一. 编译apache fastcgi模块

    1. 编译mod_fastcgi.so

    方式一: mod_fastcgi/Win32 目录下有mod_fastcgi.dsp和mod_fastcgi_AP2.dsp两个工程文件,但是无法用vc6打开,只能手动编译



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

 

 

标签:cgi,lib,windows,fcgi,fcgid,fastcgi,mod
From: https://blog.51cto.com/u_1923895/5939838

相关文章

  • windows 10 安装 JDK1.8的问题记载
    1、oracle官网下载java版本  java.oracle.com (注:分为32位和64位);2、目前仅提供.exe的安装文件,点击就进入安装页面;3、在安装之前先确认一下本地有没有jdk的安装,如果有......
  • 禁止 Windows Update 自动更新驱动程序
    方法1:Windows11禁止驱动程序自动更新在Windows中手动安装和更新驱动程序有助于避免驱动程序造成的报错,要在Windows11中禁止自动更新驱动程序可以使用以下步骤:使......
  • 阻止Windows未知应用弹窗的一种思路方法
    同事的电脑,每次开机都弹出一个通讯设置的小窗口启动项找不到对应的服务里面也未能定位后面通过组策略的方式实现了封禁软件的运行功能步骤①:定位到弹窗的主程序可在任......
  • windows10的睡眠问题(切回win7时代正常睡眠S3方法)
    最近换了新电脑,也从win7系统换成了win10,随之而来的是睡眠变的极端难用,经过一番搜索,终于搞清了原因:首先上概念:S-State,它是指电脑的系统睡眠状态,共有S0-S5六个等级......
  • windows curl命令详解
    概述Curl命令可以通过命令行的方式,执行Http请求。在Elasticsearch中有使用的场景,因此这里研究下如何在windows下执行curl命令。软件下载下载地址:​​https://curl.haxx.se/d......
  • 仿真环境设置(一)- windows10, python 3.8
    1安装miniconda参考网上材料,打开Miniconda官网,点击对应系统版本的安装器,然后安装即可。安装过程中推荐:为所有人/只为我:只为我;将conda添加到PATH中,是/否:是。(虽然不......
  • Windows 10下基于Visual Studio 2019安装配置MPI 10.1.2
    参考:https://blog.csdn.net/Jacamox/article/details/1125633611、下载并安装VisualStudioCommunity2019;2、下载并安装MPI10.1.2:http://www.mpich.org/downloads/......
  • windows 按照mongodb数据库
    参考博客,不要选择c盘安装,我下载的msi文件直接安装的,https://www.cnblogs.com/nastu/p/16271881.htmlhttps://www.runoob.com/mongodb/mongodb-window-install.html......
  • Windows系统操作指令汇总
    CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本)1.appwiz.cpl:程序和功能2.calc:启动计算器3.certmgr.msc:证书管理实用程序4.charmap:启动字......
  • Windows Defender 实时防护打不开,你的IT管理员已经限制对此应用一些区域的访问
        最近在使用电脑的时候,WindowsDefender实时防护不能使用,一打开就自动关闭,并且显示该页面不可用你的IT管理员已经限制对此应用一些区域的访问,实时防护页面显示......