スクリプトヘッダーの時期尚早の終わり - 何、私にはわからない!
-
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";
所属していません StackOverflow