スクリプトヘッダーの時期尚早の終わり - 何、私にはわからない!

StackOverflow https://stackoverflow.com/questions/3710338

  •  02-10-2019
  •  | 
  •  

質問

サーバーで簡単なPerlスクリプトを実行しようとし、内部500サーバーを取得し、エラーログを確認すると表示されます。

Premature end of script headers: test.pl

これがPerlスクリプトです:

#!/usr/bin/perl -w
print "Content-type: text/plain\n\n";
print "testing...\n";

私の cgi-bin フォルダーには0755の権限があります。スクリプト自体も0755です。スクリプトはApacheが所有し、Apacheグループに所有されています。スクリプトはコマンドラインを介して正常に動作します。

問題は何ですか、そしてどうすればこれを修正できますか?!

助けてくれてありがとう!

アップデート

Suexecでの興味深い発見:

2010-09-14 17:38:28]: uid: (10001/som) gid: (2522/2522) cmd: test.pl
[2010-09-14 17:38:28]: target uid/gid (10001/2522 or 2521) mismatch with directory (48/0) or program (48/0)

しかし、私のCGI倍率はtest.plスクリプトと同じです - それは別のディレクトリを参照していますか?

役に立ちましたか?

解決

Perlmonksでそのエラーメッセージを提供するPerlスクリプトのための優れたトラブルシューティングの提案がたくさんあります。 ここから始める. 。スクリプトに特定のエラーは表示されません。ファイルの権限をカバーしているように見えるので、Apacheの構成の提案から始めます。

他のヒント

たくさんの良いアドバイス: Perl CGIスクリプトをトラブルシューティングするにはどうすればよいですか.

更新SUEXECエラーメッセージを確認してください:サーバーは、ディレクトリと同じユーザーが所有するためにCGIプログラムを必要とするようです。ファイルの所有権を変更してみてください。

CGIモジュールを使用します

use CGI qw/:standard/;
$q = CGI->new;
print $q->header('text/html');
print "testing...\n";     
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top