Hagex-day info

紅茶とお菓子について書いているほっこりブログです

CGIがうまく走らない



HTMLファイルはきちんとみれるけど、CGIがきちんと動かない。当該のファイルを開くと「500エラー」。エラーログを見ると「Premature end of script headers」の文字が。
調べてみると
#! /usr/bin/perl --
と一行目の後ろにハイフンをつけたり、
print"Content-type: text/html; charset=Shift_JIS\n\n";
と二行目に書いたりしたらいいらしいが、やっても駄目。設定ファイルもパーミッションも設定もばっちり!
うーん、いったい何が原因なのか… なにげに「public_html」のフォルダをls -alでみてみると、当該のCGIファイルの所有権がrootになっていた! このファイルをユーザーで作りなおすとすんなりと起動。どうやらうっかりしてrootのまま作業していたのが原因のようだった。

※参考 Premature end of script headers 問題解決策
Premature end of script headersの解決法-超簡易版
CGIを使う
Premature end of script headers:〜」というエラーが必ず出力されます。(はてな)
リンクと解説●CGI
cgi備忘録
CgiをFTPクライアントでアップすると。。。。