-----
Mac OSX Lionを使っています。
CGIでRubyを使いたいと思い、
以下のことを試したのですが、
500 Internal Server Error
となってしまいます。
◆やったこと
以下のファイルを
/Library/WebServer/CGI-Executables
に置きました。
(改行コードはLFとしました)
--test.cgi---
#!/usr/bin/ruby
print "Content-Type: text/html¥n¥n"
puts "Hello Ruby"
-----
そしてchmod 777としてブラウザから
http://localhost/cgi-bin/test.cgi
にアクセスしたところ、
500 Internal Server Error
となってしまいます。
その際の/var/log/apache2/error.logは、
Premature end of script headers: test.cgi
とだけ表示されます。
なんだか一番最初の所でつまづいてしまい、
めげそうになっております。
よろしくご教授ください。
print "Content-Type: text/html¥n¥n"
もしかして「¥n¥n」が UNICODE 文字だったりしませんか?
(たまにサンプルコードで、表示がバックスラッシュになることを避ける為に、UNICODE 文字が使われているケースがあります。)
試しにターミナルで、
$ ./test.cgi
を実行して意図した改行になっているか確認してみてください。
「¥n¥n」の文字が表示されるようであれば UNICODE 文字の可能性があります。
その場合は、再度「\n\n」を入力し直してみてください。
スクリプトのパーミッションを 755 にしてみてください。
Apacheのセキュリティ設定の関係で、777 は実行されない場合があります。
もしかして「¥n¥n」が UNICODE 文字だったりしませんか?
試しにターミナルで、
$ ./test.cgi
を実行して意図した改行になっているか確認してみてください。
「¥n¥n」の文字が表示されるようであれば再度「\n\n」を入力し直してみてください。
EUC-JPに変えたらうまく表示できました。
ありがとうございます!
なんだかコメントでアドバイスいただいてしまってすいません。
もし気が向きましたら回答の方にもコメントいただければ
そのままベストアンサーとさせていただきたいと思います。
本当にありがとうございました。