c++ per cgi aufrufen will nicht funktionieren

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

c++ per cgi aufrufen will nicht funktionieren

Postby painky » 02. November 2007 14:58

Hi,

ich versuche schon stunden mit c++ geschriebene cgis aufzurufen. Immer wenn der Apache die .cgi Datei ausführt kommt die Fehlermeldung 500 mit Nachricht ->
[Fri Nov 02 14:42:48 2007] [error] [client 127.0.0.1] Premature end of script headers: test1.cgi, referer: http://localhost/SY/contact.htm

ich weis wirklich nicht woran es liegen kann. Perls führt er aus. Das Testscript wurde mit cygwin und dem g++ compilier kompiliert. Den Code findet ihr hier->
#include <iostream>
#include <cstdlib>

using namespace std;

int main() {
cout << "Content-type: text/html\n\n";

cout << "<html>" << endl;
cout << "<head><title>zeige_query_string</title></head>" << endl;
cout << " <body>" << endl;
char *query_string=getenv("QUERY_STRING");
if (query_string) {
cout << "query_string: " << query_string << endl;
}
cout << " </body>" << endl;
cout << "</html>" << endl;
}

Ich hoffe einer kann mir helfen. Ich muss ein Programm für mein Studium schreiben und es muss mit c++ und cgi sein *grml*. Ich danke euch im voraus!

mfg lars
painky
 
Posts: 3
Joined: 02. November 2007 14:48

Postby Wiedmann » 02. November 2007 15:28

Premature end of script headers: test1.cgi,
...
Das Testscript wurde mit cygwin und dem g++ compilier kompiliert.

Wenn das ein kompiliertes Programm ist, muss das ja die Endung "*.exe" haben und nicht nicht "*.cgi".
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby painky » 02. November 2007 15:43

Danke für die schnelle antwort. Ich habe jetzt in der http.conf noch den eintrag für die index.exe gesetzt aber der Bowser will die datei andauernd downloaden und Apache führt diese nicht aus :-(.
painky
 
Posts: 3
Joined: 02. November 2007 14:48

Postby Wiedmann » 02. November 2007 15:49

Ich habe jetzt in der http.conf noch den eintrag für die index.exe gesetzt

Damit meinst du was genau?

BTW:
Code: Select all
 cout << "Content-type: text/html\n\n";

Wird das "\n\n" noch irgendwie automagisch nach "\r\n\r\n" konvertiert?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby Scory » 02. November 2007 15:51

Klingt ziemlich kaputt mit der "index.exe" - könntest Du die httpd.conf mal zeigen, die da zusammenfummelst?
Scory
 

Postby painky » 02. November 2007 15:58

Damit meinst du was genau?


Hier habe ich das index.exe in der http.conf eingetragen
Code: Select all
<IfModule dir_module>
    DirectoryIndex index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.shtml index.phtml index.exe
</IfModule>


Wird das "\n\n" noch irgendwie automagisch nach "\r\n\r\n" konvertiert?


Ich kann das auch so schreiben, das macht keinen Unterschied.
Code: Select all
    cout << "Content-type: text/html" << endl;
    cout << endl;
painky
 
Posts: 3
Joined: 02. November 2007 14:48

Postby Wiedmann » 02. November 2007 16:07

Hier habe ich das index.exe in der http.conf eingetragen

Hm, nach dieser Meldung:
painky wrote:
Code: Select all
Premature end of script headers: test1.cgi,

hast du auf deiner Platte ja eine Datei "test1.cgi" und rufst diese auf mit z.B. "http://localhost/cgi-bin/test1.cgi".

Du brauchst aber eine Datei "test1.exe" und rufst diese dann auf mit z.B. "http://localhost/cgi-bin/test1.exe".

Ich kann das auch so schreiben, das macht keinen Unterschied.

Nur zur Sicherheit:
In der Eingabeaufforderung "cmd.exe" kannst du diese Datei also Ausführern mit "test1.exe" und es wird das Erwartete ausgegeben?
Wiedmann
AF Moderator
 
Posts: 17106
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany


Return to XAMPP für Windows

Who is online

Users browsing this forum: No registered users and 20 guests