user2038001
user2038001

Reputation: 121

End of script output before headers: hello.pl

Update: 07/12/13

The script works through command line.

"------extra line" is to show an extra return key stroke in editor.


XAMPP: 1.8.2

Server: Apache 2.4

Issue:

I keep receiving the error "End of script output before headers: hello.pl" for a simple hello world perl script. I'm trying to execute the script via a web server "xampp".

Curious Note:

I can use another Perl script which will initially work. However when I make a simple change such as a space, return or comment "#", the script will no longer function. However if I remove the change and save it the script will work again.

Check List

Confirm correct path to perl Output header (see perl code below) Extra line at end of script (I heard this could resolve issue) Confirmed correct privileges in httpd.config Transferred file via ftp in ASCII

Perl Script:

#!"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>;

Upvotes: 1

Views: 13919

Answers (4)

kod
kod

Reputation: 81

Probably this is SELinux blocks. try this

setsebool -P httpd_enable_cgi 1 
chcon -R -t httpd_sys_script_exec_t cgi-bin/your_script.cgi

Upvotes: 0

David Spector
David Spector

Reputation: 1671

Might be a known PHP bug (https://bugs.php.net/bug.php?id=66474). Try different versions of PHP?

Upvotes: 0

Lech
Lech

Reputation: 11

The probable cause: http://perl.baczynski.com/wtf/solved-mystery-perl-on-xampp-wont-run-modified-scripts

tl;dr: turn off your COMODO antivirus, or it's sandbox feature.

Upvotes: 1

user1126070
user1126070

Reputation: 5069

Maybe your editor changes the line ending characters to windows one.

CGI output needs to be started with HTTP.., two \n then header, then the body between the right HTML codes (Why doesn't my Perl CGI program work on Windows?)

Check the actual chars in a editor that shows you the line endings (like notepad++).

To my best knowledge, the shebang (#!) line is ignored in windows.

Upvotes: 1

Related Questions