andi: he specified CGI application misbehaved by not returning ...

Erhalte folgenden Fehler:
"The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:"

Das PERL-PRogramm dazu sieht so aus:
---schnipp---
print "Content-type: text/html\n\n";
print "\n<html><head><title></title></head><BODY bgcolor=#D8E8D7 TEXT=black> \n\n";
print "Huhu";
print "</body>\n";
print "</html>\n";
---schnipp---

Wenn ich das unter einem IIS 4.0 laufen lassen, geht es.
Unter IIS 5.0 nicht.
Kann es da Unterschiede geben?

Woran kann es sonst liegen?

Danke Andi

  1. Auch Dir ein ganz besonders freundliches Hallo,

    "The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:"

    das ist alles?

    Das PERL-PRogramm dazu sieht so aus:

    Ist es vollständig? Weder davor noch danach etwas? Keine Shebang, kein gar nichts?

    print "Content-type: text/html\n\n";

    Wenn Du meine erste Frage mit "ja" beantwortest, wird dies hier nicht ausgeführt.

    Kann es da Unterschiede geben?

    Aber selbstverständlich.

    Woran kann es sonst liegen?

    Wenn die Fehlermeldung noch weiter geht: Was nach STDERR geschrieben wird, hat Priorität vor dem, was STDOUT erhält. Prüfe also, ob irgendwo im Script Fehlerausgaben sein könnten (Fehler bei open(), fehlerhaft ausgeführte Programme, die()...).

    Cheatah

    1. "The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:"
      das ist alles?

      Ja.

      Das PERL-PRogramm dazu sieht so aus:
      Ist es vollständig? Weder davor noch danach etwas? Keine Shebang, kein gar nichts?

      NIchts davor und nichts dahinter.

      Kann es da Unterschiede geben?
      Aber selbstverständlich.

      Weiss man, was beim IIS 5.0 eingestellt sein muss? Erwartet dieser besondere Headerangaben?

      Woran kann es sonst liegen?
      Wenn die Fehlermeldung noch weiter geht: Was nach STDERR geschrieben wird, hat Priorität vor dem, was STDOUT erhält. Prüfe also, ob irgendwo im Script Fehlerausgaben sein könnten (Fehler bei open(), fehlerhaft ausgeführte Programme, die()...).

      Fehler sind keine, da es ja unveraendert auf dem anderen Server laeuft.

      Danke Andi

      1. Hi,

        Ist es vollständig? Weder davor noch danach etwas? Keine Shebang, kein gar nichts?
        NIchts davor und nichts dahinter.

        dann setz was davor, nämlich die Shebang, also "#!" und den Pfad zum Perl-Interpreter.

        Weiss man, was beim IIS 5.0 eingestellt sein muss?

        "Man" vielleicht - ich aber nicht. Ich nehme einfach (zugunsten Microsofts) an, dass der IIS 5 jetzt endlich standardmäßig eine Shebang braucht.

        Erwartet dieser besondere Headerangaben?

        Wie gesagt: Das Script ist gar nicht bis zu einer Ausgabe ausgeführt worden. _Keine_ Ausgabe kann den IIS also besänftigen.

        Wenn die Fehlermeldung noch weiter geht: Was nach STDERR geschrieben wird, hat Priorität vor dem, was STDOUT erhält. Prüfe also, ob irgendwo im Script Fehlerausgaben sein könnten (Fehler bei open(), fehlerhaft ausgeführte Programme, die()...).
        Fehler sind keine, da es ja unveraendert auf dem anderen Server laeuft.

        Ich meinte keine Syntaxfehler. Da Du das Script aber vollständig gepostet hast und keine kritischen Dinge enthalten sind, fällt diese Theorie eh flach.

        Cheatah