Sven Wagener: CGI Script funktioniert nicht Auf dem Server im Internet, aber auf lokalem Linux

Hallo Forumler!

http://www.funkedruck.de/CGI/klein.html

Schaut euch das mal bitte an! Wie das nun zustande kommt weiß ich auch nicht!
Bei mir auf dem Apache (LINUX) Server läuft aber alles einwandfrei!

Naja. Wäre echt super, wenn mir da jemand helfen könnte!

MfG,

Sven Wagener.

  1. Hallo Forumler!

    http://www.funkedruck.de/CGI/klein.html

    Schaut euch das mal bitte an! Wie das nun zustande kommt weiß ich auch nicht!
    Bei mir auf dem Apache (LINUX) Server läuft aber alles einwandfrei!

    Naja. Wäre echt super, wenn mir da jemand helfen könnte!

    MfG,

    Sven Wagener.

    Sieht nett aus, aber so kann man UNMÖGLICH einen Fehler finden!
    Wäre nett, wenn Du mal ein Skript anbietest!

    Reiner

    1. Sieht nett aus, aber so kann man UNMÖGLICH einen Fehler finden!
      Wäre nett, wenn Du mal ein Skript anbietest!

      Reiner

      Hier die Quelltexte (In C geschrieben).

      http://www.funkedruck.de/CGI/quelltexte.zip

      Ich hoffe, mir kann jemand helfen. Wie gesagt, die CGIs funktionieren bei mir ja auf meinem Linux Apache Server. An und für sich dürfte es nicht an den CGIs liegen!

      Sven.

      1. Wie gesagt, die CGIs funktionieren bei mir ja auf meinem Linux Apache Server. An und für sich dürfte es nicht an den CGIs liegen!

        ... sondern an der Konfiguration des Webservers, der
        nicht begreift, daß er Dein C-Programm ausführen soll,
        statt es zu übertragen. Genau das.

  2. Sven,

    zuerst mal: da beim Testen eines Scriptes ziemlich viel schiefgehen kann, muß man Gedanken lesen können, was du gerade als 'nicht funktionierend' meinst :-)

    gib doch bitte genauere Informationen, bitte

    zudem wäre der Teil aus dem Script, das die übergebenen Parameter verarbeitet, auch nicht schlecht.

    Da das Script aber schon bei der Übergabe der Query Unfug macht mit dem @, nehme ich mal an, du hast nicht darauf geachtet, daß Sonderzeichen oder Zeichen, die in Perl für Funktionen etc. stehen, maskiert werden müssen?
    der Klammeraffe, wenn er in einem String als Zeichen vorkommen soll, muß maskiert werden!

    Gruss
    Connie

  3. Hallo Sven!

    Zuerst mal der Hinweis, bitte beschreibe Dein Problem doch beim naechsten mal etwas naeher, das hilft ungemein bei der Fehlersuche.

    Naja, in diesem Fall war mir aber zufaellig klar, was dieses "ELF" am Anfang Deines Outputs bedeutet. So sieht eine Executable in irgendsoeinem bestimmte Format auf manchen Unixen aus. Kenn mich da aber nicht aus. Was das bedeutet ist schlicht und einfach, dass Dein CGI-Programm nicht ausgefuehrt wird, sondern der Dateiinhalt heruntergeladen. Haettest Du es in Perl geschrieben, wuerde man den Perl-Sourcecode sehen.

    Der Grund dafuer ist eine Fehlkonfiguration Deines Webservers. Der erkennt Deine Datei nicht als ausfuehrbar. Lies Dir bitte bei http://www.teamone.de/selfaktuell/artikel/schroepl03.htm#a6 durch, wie man dem Webserver dies mitteilt.

    So lange, Calocybe

    1. Der Grund dafuer ist eine Fehlkonfiguration Deines Webservers. Der erkennt Deine Datei nicht als ausfuehrbar. Lies Dir bitte bei http://www.teamone.de/selfaktuell/artikel/schroepl03.htm#a6 durch, wie man dem Webserver dies mitteilt.

      So lange, Calocybe

      Gibt es keine Standartdatentypen, die auf einem Webserver als Standard eingerichtet sind. So könnte ich es evtl. mit anderen Dateiendungen versuchen. Bei .cgi versucht er es ja direkt mit Perl und nix Funktioniert mehr. Wenn ich auf die Endung EXE umänder (könnte auch irgendeine andere sein), dann will er direkt  "Speichern unter".

      Naja, ich werde mal nachsehen! Schaumer mal.

      Danke schonmal, Sven.

      1. Gibt es keine Standartdatentypen, die auf einem Webserver als Standard eingerichtet sind.

        Fragt sich, ob es Sinn macht, CGI auf einem Webserver überhaupt standardmäßig aktiv zu haben.
        Und wenn Du es einschalten mußt, dann definierst Du ja auch, welche Dateien ausgeführt werden sollen und welche nicht. Das *kann* an der Endung des Dateinamens liegen, muß aber keineswegs.

        So könnte ich es evtl. mit anderen Dateiendungen versuchen.
        Bei .cgi versucht er es ja direkt mit Perl und nix Funktioniert mehr.

        Wie meinen? CGI ist nicht gleich Perl. Wer ist denn "er"?

        Wenn ich auf die Endung EXE umänder (könnte auch irgendeine andere sein), dann will er direkt "Speichern unter".

        Dieser "er" ist nun bestimmt der Browser - der vorherige "er" war noch der Webserver.
        Der Browser will "speichern unter", weil der Webserver dem, was er da übertragen hat, einen MIME-Typ mitgeliefert hat, den der Browser nur speichern kann, nicht aber anzeigen.

  4. Nur damit Ihr es alle wisst!

    http://www.funkedruck.de/CGI/quelltexte.zip

    Dies sind die Quelltexte!

    Sven Wagener.