Apache 上的 CGI 配置與測試

2021-04-13 06:24:24 字數 1208 閱讀 1847

平台與工具:

windows xp, apache 2.0.59, activeperl-5.6.1.628-mswin32-x86-multi-thread.msi, vc++ 6.0, turboc 2.0

scriptalias /cgi-bin/ "f:/php_code/cgi-bin/"

allowoverride all

options execcgi

order allow,deny

allow from all

addhandler cgi-script .cgi .pl

先停止apache服務,儲存http.conf檔案配置,再啟動服務。

二、perl指令碼cgi:

注意perl指令碼的首句內容要給出perl直譯器的路徑,如果perl和apache不是安裝在同一目錄,要給出絕對路徑。如下示例:

#!f:/perl/bin/perl.exe

####  printenv -- demo cgi program which just prints its environment

##print "content-type: text/html/n/n";

foreach $var (sort(keys(%env))) ;

$val =~ s|/n|//n|g;

$val =~ s|"|//"|g;

print "$=/"$/"

/n";

}拷貝到apache的/cgi-bin/目錄之下。

三、c**寫的,編譯後形成的二進位制**形式的cgi:

示例一:hello.c,編譯後成為 hello.exe,拷貝到apache的/cgi-bin/目錄之下,該字尾為.cgi。

#include

int main()

示例二:mult.c,編譯後成為 mult.exe,拷貝到apache的/cgi-bin/目錄之下,該字尾為.cgi。

int main(void)

請求與上述cgi的頁面:

在此注意的是,用turboc編譯形成的16位dos子程式,apache無法訪問。出現伺服器500錯誤,error.log日誌記錄會顯示:

[thu aug 09 15:34:37 2007] [error] [client 127.0.0.1] (os 5)拒絕訪問。  : couldn't spawn child process: f:/php_code/cgi-bin/hello.cgi

CGI在Apache上的配置

想寫個前台頁面傳送ajax請求到後台用c語言編寫的cgi程式,並成功返回結果。原始碼都很簡單,都有,結果在除錯配置時遇到了乙個又乙個問題。特記錄之。過程參考 1 先貼 ajaxtest1.htm suggest instruction cgi main.c include include inclu...

配置apache執行cgi程式

配置apache執行cgi程式可分為兩種情況,一是scriptalias目錄的cgi,二是scriptalias以外目錄的cgi。scriptalias目錄的cgi scriptalias指令使apache允許執行乙個特定目錄中的cgi程式。當客戶端請求此特定目錄中的資源時,apache假定其中檔案...

配置Apache對CGI的支援

在http.conf或 etc apache2 mods enable cgi.load 檔案裡,我的是在目錄 usr local apache2 conf 下面的http.conf 加入cgi支援 loadmodule cgi module usr lib apache2 modules mod ...