サーバーで単純な 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-folder は test.pl スクリプトと同じです - 別のディレクトリを参照していますか?