1. ホーム
  2. perl

[解決済み] サーバーサイドインクルードでPerlを呼び出すと "suexec policy violation "となる原因は何ですか?

2022-02-28 16:45:19

質問

Apache 2 サーバー上のサーバーサイドインクルードから呼び出される Perl スクリプトを作成しています。このスクリプトは、実際のエラーを表示するのではなく、一般的な "Internal Server Error" ページを表示しています。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/

Perl スクリプトで "Internal Server Error" ではなく、エラーを表示させるにはどうしたらよいですか?

更新しました。

ということを知ったので、これは別に質問すべきでした。 はブラウザにエラーを送信します ( サンクスブライアン ):

use CGI::Carp qw(fatalsToBrowser);

しかし、PerlスクリプトではなくApacheの設定に問題がある場合、Perlのコードが解釈されないので、エラーはブラウザに送信されません。この場合、この行のおかげで(Perlのエラーではなく)Apacheのエラーが発生していることが分かります。

 suexec policy violation: see suexec log for more details

これは、ApacheがSUexecモードで実行されているときに発生します(これは共有ホスティングでは一般的なようです)。このエラーを引き起こすために何が正確に変更されたのか分かりませんが、それを見つけようとしているのです。

解決方法は?

おそらく、共有ホスティングを使用していて、この問題があるのは、あなたの scripts ディレクトリ または スクリプトファイル とは別の権利があります。 755 .

以下はその一例です。 ケース オランダ語から翻訳したものです。