"Premature end of script headers" on Apache
何回か引っかかったのでメモル。
- パスが違う
- shebang 行と 実際のパスを確認する。
$ which perl /opt/bin/perl $ head -1 test.cgi #!/usr/bin/perl
- プログラムへのアクセスが認められていない
- 実行ファイル、または、それまでのパスを ls -l で確認し、chown や chmod で設定変更する。
$ which perl /home/foo/opt/bin/perl $ ls -l /home 合計 40 drwx------ 10 foo foo 4096 8月 9 13:54 foo/ ... $ chgrp www /home/foo $ chmod 710 /home/foo $ ls -l /home 合計 40 drwx--x--- 10 foo www 4096 8月 9 13:54 foo/ ...
- 改行コードがおかしい
- スクリプトファイルが正しい文字コード・改行か確認し、変換する
- 改行コードの誤認識
- "--" を shebang 行の末尾につける
#!/usr/bin/perl --