サーバー側から呼び出される Perl スクリプトに取り組んでおり、Apache 2 サーバーに含まれています。スクリプトは、実際のエラーを表示するのではなく、一般的な「内部サーバー エラー」ページを表示しています。Apache エラー ログを確認すると、次のメッセージが表示されます。
unable to include "/foobar/index.pl" in parsed file /home/foouser/domains/foosite.com/public_html/foobar/index.shtml, referer: http://www.foosite.com/foobar/
suexec policy violation: see suexec log for more details, referer: http://www.foosite.com/foobar/
Premature end of script headers: settings.pl, referer: http://www.foosite.com/foobar/
"Internal Server Error" ではなくエラーを表示するように Perl スクリプトを取得するにはどうすればよいですか?
アップデート:
これについては別の質問をするべきでした。なぜなら、これがブラウザにエラーを送信することを知ったからです ( thanks brian ):
use CGI::Carp qw(fatalsToBrowser);
ただし、問題が Perl スクリプトではなく Apache 構成にある場合は、Perl コードが解釈されていないため、エラーはブラウザーに送信されません。この場合、次の行により、(Perl エラーではなく) Apache エラーが発生していることがわかります。
suexec policy violation: see suexec log for more details
これは、Apache が SUexec モードで実行されている場合に発生します (共有ホスティングでは一般的なようです)。このエラーを引き起こすために正確に何が変更されたのかはわかりませんが、それが私が見つけようとしていることです。