in reply to Premature End of Script Headers Reasons?
Follow this easy sequence of steps:
- Make sure this works:
(If you're not on Unix, you can skip this step, but this reveals a lot about the CGI setup without having to introduce the unknown of Perl.)#!/bin/sh echo content-type: text/plain echo date - Make sure this works:
#!/your/path/to/perl print "Content-type: text/plain\n\n"; print "Hello world at " . localtime() . "\n";
- Now take your original script, and insert these
right after the #! line:
and make sure your code passes perl -c.#!/your/path/to/perl BEGIN { print "Content-type: text/plain\n\n--OUTPUT--\n"; } ... rest of your script ...
Also, every time you see that sort of error, a sometimes-useful error message has been written to your web server's error log, so find that as well. If you don't have access to the server log, a simple fix is to change step three's suggestion to:
And now the error messages show up in your browser, as if your browser was the result of invoking the script as a command line.BEGIN { print "Content-type: text/plain\n\n--OUTPUT--\n"; open STDERR, ">&STDOUT"; # errors go to browser now } ... rest of your script ...
-- Randal L. Schwartz, Perl hacker
Be sure to read my standard disclaimer if this is a reply.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: On debugging "Premature End of Script" errors
by halley (Prior) on May 06, 2003 at 17:23 UTC | |
Re: On debugging "Premature End of Script" errors
by markjugg (Curate) on May 06, 2003 at 18:00 UTC | |
by Anonymous Monk on May 07, 2003 at 07:52 UTC |
In Section
Seekers of Perl Wisdom