2011-05-16 41 views
0

我在C跑得快的CGI程序

#include <fcgi_stdio.h> 
#include <stdlib.h> 

int count; 
void initialize(void) 
{ 
    count=0; 
} 
int main(void) 
{ 
    initialize(); 

    while (FCGI_Accept() >= 0) 
    { 
    printf("Content-type: text/html\r\n" 
    "\r\n" 
    "<title>FastCGI Hello! (C, fcgi_stdio library)</title>" 
    "<h1>FastCGI Hello! (C, fcgi_stdio library)</h1>" 
    "Request number %d running on host <i>%s</i>\n", 
     ++count, getenv("REMOTE_HOST")); 
    } 
    return 1; 
} 

創造了一個招呼FastCGI的前衛然後我編譯使用 「GCC -o hello1 hello1.c -lfcgi」

這創造了「程序hello1" 我的主目錄(在Ubuntu) 當我運行這個文件的可執行文件,我得到了輸出:

Content-type: text/html 

<title>FastCGI Hello! (C, fcgi_stdio library)</title><h1>FastCGI Hello! (C, fcgi_stdio library)</h1>Request number 1 running on host <i>(null)</i> 

我想運行從Firefox此文件。由於我是新手,對此我沒有任何想法。任何人都可以爲我提供詳細的答案,以及我需要通過網絡瀏覽器運行它的所有步驟。 我試過將'hello1'文件複製到/etc/apache/fcgi-bin/hello1.fcgi後輸入URL爲「http:// localhost/fcgi-bin/hello1」,但它給了404錯誤

回答

0

你倒是仍然需要包括.fcgi擴展上的網址:

http://localhost/fcgi-bin/hello1.fcgi 
+0

我已經試過這個選項也有,但是得到了'。該請求的URL /fcgi-bin/hello1.fcgi在此服務器上找到 我想我們需要做一些配置,但dnt知道什麼 – surbhi 2011-05-16 17:28:20

+0

檢查Apache錯誤日誌,它會說明服務器檢查文件的路徑。/ fcgi-bin是服務器上的一個真實目錄,或ScriptAlias/Alias類型構造?您可能需要在Apache中進行配置,以便知道去哪裏看。 – 2011-05-16 17:31:16

+0

是的,這工作。謝謝。 但現在不是運行fcgi文件,而是要求將它保存爲二進制文件。 – surbhi 2011-05-17 05:48:15