Ende der Skript-Ausgabe vor dem Header: hello.pl
Update: 07/12/13
Das script funktioniert über die Befehlszeile.
"------ extra line" ist zu zeigen, einen zusätzlichen return-Taste wird die Kontur im editor.
XAMPP: 1.8.2
Server: Apache 2.4
Problem:
Ich bekomme immer wieder die Fehlermeldung "Ende der Skript-Ausgabe vor dem Header: hello.pl" für eine einfache "hello world" perl-Skript. Ich versuche, führen Sie das script über einen Webserver "xampp".
Neugierig Hinweis:
Kann ich verwenden Sie ein anderes Perl-Skript, das zunächst die Arbeit. Allerdings, wenn ich eine einfache änderung, wie ein Leerzeichen, return oder kommentieren Sie "#", wird das Skript nicht mehr funktionieren. Allerdings, wenn ich entfernen Sie die änderung und speichern Sie das Skript wieder funktionieren wird.
Check-Liste
Bestätigen korrekten Pfad zu perl
Ausgabe-header (siehe perl-code unten)
Zusätzliche Zeile am Ende des Skripts (ich habe gehört, das könnte das Problem beheben)
Bestätigt korrekten Rechte in httpd.config
Übertragen von Dateien via ftp im ASCII -
Perl-Skript:
#!"C:\xampp\perl\bin\perl.exe"
print "Content-Type: text/html\n\n";
print "hello world";
------extra line
httpd.config
<Directory "C:/xampp/htdocs">;
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>;
Was genau ist
------extra line
soll das bedeuten?InformationsquelleAutor user2038001 | 2013-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vielleicht hat dein editor änderungen der Zeilenende-Zeichen zu windows.
CGI-Ausgabe gestartet werden muss mit HTTP.., zwei - \n-dann Kopf, dann der Körper zwischen den entsprechenden HTML-codes (Warum funktioniert mein Perl-CGI-Programm funktioniert auf Windows?)
Überprüfen Sie die tatsächliche chars in einem editor, der zeigt dir die Zeilenenden (z.B. notepad++).
Meinem besten wissen, das shebang (#!) Zeile wird ignoriert im windows.
InformationsquelleAutor user1126070
Die wahrscheinliche Ursache:
http://perl.baczynski.com/wtf/solved-mystery-perl-on-xampp-wont-run-modified-scripts
tl;dr: schalten Sie Ihre COMODO antivirus, oder die sandbox-Funktion.
InformationsquelleAutor Lech
Könnte ein bekannter PHP-bug (https://bugs.php.net/bug.php?id=66474). Versuchen Sie verschiedene Versionen von PHP?
InformationsquelleAutor David Spector
Wahrscheinlich ist dies SELinux blockiert.
versuchen Sie, diese
InformationsquelleAutor kod