Apache CGI Progsprache C

Alles, was den Apache betrifft, kann hier besprochen werden.

Apache CGI Progsprache C

Postby landi27 » 02. April 2008 07:00

So heute habe ich leider wieder ein kleines Problem. Ich möchte ein CGI ausführen, welches C-Code enthält. PL-Skripte habe ich getestet und funktionieren fehlerfrei. Aber wie verhält es sich mit C-Code???
Ich benötige ja einen C-Compiler. Habe den GNU-Compiler schon compiliert und die Path-Variablen gesetzt. Oder benötige ich einen C-Interpreter, mit solch einem habe ich noch nicht gearbeitet.
Vielleicht kann mir jemand helfen.
Nutze Windows XP mit Apache 2.2.6

Danke

Landi27
landi27
 
Posts: 3
Joined: 01. April 2008 10:01

Postby Nobbie » 02. April 2008 09:55

Du hast den Compiler selbst compiliert? Womit?

Was ist denn jetzt genau Dein Problem? Du mußt nun ein C-Programm schreiben, es compilieren und linken und dann das resultierende .exe in das cgi-bin Verzeichnis stellen. Dort kannst du es via Browser ausführen.
Nobbie
 
Posts: 8770
Joined: 09. March 2008 13:04

Problemverfeinerung

Postby landi27 » 02. April 2008 15:37

Ich bin beim probieren auf diese Seite gestoßen
http://www.informatik.htw-dresden.de/~beck/C/cgi.html und das Beispiel mit der Ascii-Tabelle wollte ich einfach mal probieren.
------------------------------------------------------------------------------------------------------------------------
Zitat:
Notwendige Voraussetzungen
www-Server (CGI-fähig konfiguriert) zB. www.informatik.htw-dresden.de oder www.htw-dresden.de
C- Compiler cc, gcc, xlc

Anlegen eines Verzeichnisses public_html/cgi-bin mit Ausführungsrechten für alle
Einfügen eines entsprechenden Links in ein html-File

Schreiben des C-Codes, der dann auf dem Server ausgeführt wird.
Die Ausgaben auf die Standardausgabe werden an den Browser gesendet und müssen der html-Syntax entsprechen.

Es ist möglich, vorgefertigte Web-Seiten zeilenweise durch das CGI-Script zu lesen und an den Browser zu schicken, und nur die variablen Teile durch das Programm zu ergänzen. Das CGI-Programm wird dadurch schlanker und übersichtlicher.

1. Beispiel für CGI-Script ohne Parameterübergabe




<html><head><!-- T--><title>Programmiersprachen C</title></head><body>

<h2>

Programmiersprachen - Ausbildung <p></h2>

<hr>




. . .




<hr>

Ascii Codetabelle über CGI-Script berechnet

<a href ="cgi-bin/a1.cgi">Ascii-CGI</A><p>

<hr>

<h4><a href="a.beck.html">A. Beck</A>, 03.10.1996

</body>

</html>




/* CGI-Beispiel Ascii-Code Tabelle */




#include <stdio.h>
#include <ctype.h>

int main()
{
int i,j;

printf("Content-Type: text/html");
printf("\n\n") ;
/*puts("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 3.2//EN\">");*/
puts("<html><head><title>CGI-Script - ASCII Codetabelle</title></head>\n");
puts("<body><h2><hr>\n");
puts("<pre>\n");

for (i=0; i<4; i++)printf("|dec hex Char ");
printf("|\n");
for (i=0; i<32; i ++)
{
printf("\n| ");
for (j=0; j < 128; j += 128/4)
{
printf("%3d %2X ",i+j,i+j);
if (isgraph(j+i))printf(" %c | ",j+i);
else printf(" . | ");
}
}
puts("</pre><hr>");
puts("<a href=\"http://www.....de/~beck/a.beck.html\">A. Beck</A> <p>");
puts("</body>\n");
puts("</html>\n");
return 0;
}
-----------------------------------------------------------------------------------------------------------------------

Dort wird einfach der Code in eine cgi-Datei kopiert und diese dann ausgeführt. Ich verstehe einfach nicht wie das gehen soll. C-Code muss ja kompiliert werden. Wie hat er das gemacht????

Danke

landi27
landi27
 
Posts: 3
Joined: 01. April 2008 10:01

Postby Xardas der Dunkle » 02. April 2008 18:21

Also bei mir funzt es, wenn ich das C-Programm compieliere, aber dann anstatt als .exe als .cgi abspeicher xD.

Code: Select all
gcc cporg.c -o cprog.cgi


Nur noch im Browser aufrufen: http://localhost/cgi-bin/cprog.cgi und es läuft. :P
User avatar
Xardas der Dunkle
 
Posts: 482
Joined: 09. March 2008 19:40
Location: /var/www


Return to Apache

Who is online

Users browsing this forum: No registered users and 2 guests