cgiスクリプトを実行しようとすると Internal Server Error となり、error.log を見ると
Premature end of script headers
となっている時があります。
これはPerl が suexec で動くサーバだとたまにでる事がありますが、原因を特定することが
困難なため対処方法が非常にやっかい。
個人的には以下の作業でなおる事が多いのでメモ。
1. cgiスクリプトをバイナリモードでアップロードする。 2. 改行コードを「LF」(unix) にする 3. スクリプトの最後に「1; (改行)(改行)」を付け足す
それでも直らないときはこちら
1行目 #!/usr/bin/perl ↓ #!/usr/bin/perl - という風に半角スペースとハイフンを追加する
なお「ヘテムル」などのレンタルサーバでは .htaccess の内容が間違っていると 500 エラーとなることがあります。
こちらも要注意