CGI in C geschrieben --> wie ausführen??

Irgendwelche Probleme mit XAMPP für Windows? Dann ist hier genau der richtige Ort um nachzufragen.

CGI in C geschrieben --> wie ausführen??

Postby Mufasa » 20. February 2008 15:43

Hi Leute!

Hab mich hier mal eben angemeldet.... bin in Apache und überhaupt Webservern absoluter Neuling, hoffe Ihr könnt mir hier weiterhelfen....

Also ich hab ein kleines Progrämmchen in C geschrieben:
Code: Select all
#include <stdio.h>
/* CGI in Ansi-C geschrieben */

int main(){
   printf("Content-type: text/html\n\n");
   printf("<h2>Hello World</h2>");
   printf("<p>Wenn dies zu lesen ist, hat alles geklapt!");
   //getchar();
   return 0;
}


Jetzt hab ich die *.exe in cgi-bin gelegt, über XAMPP den Apache gestartet, und wenn ich jetzt 'http://localhost/cgi-bin/*.exe' im Browser eingebe funktioniert es auch.

So!

Aber das ganze läuft jetzt als exe ab und nicht als cgi! Also ich kurzerhand *.exe in *.cgi umgetauft, 'http://localhost/cgi-bin/*.cgi' aufgerufen.... und es kommt Serverfehler: Error 500.

Wodran kann das liegen? Was mache ich falsch? Was müsste ich denn machen? Bin für jeeeede Hilfe dankbar!!!
Mufasa
 
Posts: 28
Joined: 20. February 2008 15:32

Postby Wiedmann » 20. February 2008 15:53

Aber das ganze läuft jetzt als exe ab und nicht als cgi!

Natürlich läuft es als CGI. CGI beschreibt einfach eine Schnittstelle, über welche ein Server Scripte oder Binarys aufruft.

Also ich kurzerhand *.exe in *.cgi umgetauft,

Ausführbare Dateien (Binaries) müssen unter Windows nunmal die Endung *.exe oder *.com haben.

(Bei Scriptdateien ist die Endung "egal", weil hier der Apache sich die erste Zeile des Scripes anschaut, wo steht, wie der dazugehörige Interpreter heist.

Wodran kann das liegen?

Behaviour by design.

Was mache ich falsch?

Du willst eine ausführbare datei unter Windows umbenennen (so könntest du sie ja auch nicht im Explorer starten)

Was müsste ich denn machen?

Den Namen so lassen wie er ist, wie es andere auch tun. (alternativ könnte man natürlich über mod_rewrite die URI "*.cgi" auf "*.exe" mappen. Aber zu was?)
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Mufasa » 20. February 2008 16:00

WOW danke jetzt bin ich schon um einiges schlauer :-)

Ok.... so is dat dann unter Windows. Das ganze soll dann aber am End auf einem Linux (Embedded) System laufen mit Boa als Webserver.

Dann muss ich aber dann wie ich das gemacht hatte *.exe in *.cgi umbennenen damit es da läuft, oder?! Oder müsste ich das ganze dann direkt in Linux kompilieren?
Mufasa
 
Posts: 28
Joined: 20. February 2008 15:32

Postby Wiedmann » 20. February 2008 16:02

Oder müsste ich das ganze dann direkt in Linux kompilieren?

Logisch. Eine Datei die du unter Windows kompiliert hast, läuft auch nur unter Windows. Für Linux musst du sie dort nochmals kompilieren.
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Mufasa » 20. February 2008 16:06

Ok probier ich mal da dann. Danke!!
Mufasa
 
Posts: 28
Joined: 20. February 2008 15:32


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 13 guests