CGI Internal Server Error. Error 500 の原因

CGI を動かそうと思ったが動かない原因は

1)CGI の動作が許可されていない directory にある。

2).cgi 文書の先頭行に書く perl の場所の指定が間違えている。

#!/usr/local/bin/perl  #!/usr/bin/perl のどちらかの場合が多いが、もちろんサーバによって異なる。macOSX10.8サーバでは後者だ。

3).cgi 文書の改行コードがUNIX になっていない。ネットで拾ってきたサンプルcgi はWinで作っているので改行コードがCR+LF になっていることが多い。Mac は CR だけ、UNIX はLF だけなのだ。エディタで変換する。Mac では mi が便利だ。

4)アクセス権が正しくない。FTPソフトで変更できるから755 にする。すべてのユーザが実行できるとしないと動かない。

5)CGI 文書の文法等が誤り。

#!/usr/bin/perl
print “Content-Type: text/html¥n¥n”;
print “Your_IP=$ENV{‘REMOTE_ADDR’}¥n”;

これはサンプルとして、アクセス元のip address を提示するスクリプト。これをaccess.cgi とか拡張子を.cgi にして好きな名前でアップロードする。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください