windows下配置apache以運行CGI

windows下配置apache以運行CGI
引言:

最近接觸了一下cgi,想嘗試一下cgi的高效性,可是弄了半天還是無法運行一個簡單的cgi程序
不過今天我再弄了一下,通過反覆測試,竟然發現:
原來用Turboc2編譯和連接後生成的exe無法在apache下運行
用VC創建的exe纔可以
誒,怎一個"暈"自了得,爲了初學者少走點彎路,下面我把今天的一些心得體會記錄下來拉

正文:


背景:

操作系統:windows
WebServer:Apache2.0
瀏覽器:IE6.0

過程:

先安裝apache哦
然後配置一下httpd.conf以支持c語言編寫的cgi
過程如下:

1,首先配置apache

主要配置如下:

ScriptAlias /cgi-bin/ "E:/apache2/Apache2/cgi-bin/"

<Directory "E:/apache2/Apache2/cgi-bin">
AllowOverride None
Options ExecCGI
Order allow,deny
Allow from all
</Directory>

AddHandler cgi-script .exe .pl .cgi

說明:
1)"E:/apache2/Apache2/cgi-bin/"爲你安裝的apache下的agi-bin目錄哦,父目錄與子目錄之間用/分開
2)至於AddHandler好象是安裝exe,pl,cgi文件後綴驅動,但是我在下面執行正確編寫並編譯好的exe文件改成諸如沒有文件後綴、文件後綴爲任意類型時也正確。

2,寫一個HelloWorld.c的cgi,代碼如下:

一個比較簡單的例子如下:


Code:
#include <stdio.h>; void main(void) { printf("/n"); printf("Hello, World!Compiled By VC++! /n"); }
[Ctrl+A Select All]


我們用VC編譯一下,並創建HelloWorld.exe,複製到apache的cgi-bin目錄下
注意:
1)千萬得用VC編譯哦,因爲我用Turboc2編譯出現錯誤,無法執行,原因可能是後者爲16位編譯器,前者爲32位編譯器的緣故
2)必須首先輸出一個空行

3,下面我們通過
http://localhost:port/cgi-bin/HelloWorld.exe
看看結果
Hello, World!Compiled By VC++!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章