質問: 私、CGI初心者なんですが、”500 Internal Server Err ”が出てしまい困ってます。 カウンターの設置し、きちんと動いているんですが、フォームを入力してもらい、ファイルに保存するCGI(Perl)です。このエラーはスクリプトにエラーがある時や、FTPで バイナリモードでスクリプトを送ってしまった時などに起こると本に書いてありました。なので、次の事を試してみたんですが・・・ ・TELNETでPERLの構文チェックと動作確認 ・FTPでアスキーで再度アップロード ・再度スクリプトを検証 ・念のため、ファイルの属性をチェック ・念のため、.htaccessをチェック(改行コードなど、・・でもカウンタプログラムが動いているから問題ないはずですよね??) 以上の事を試したんですがダメでした。 そこで、もっと簡単なスクリプト(簡単な標準出力だけを するもの)を動かしてみたんですが、やはりダメで、上記のチェックをやってみたんですが、ダメでした。 この簡単なスクリプトはCGIの本で一番最初に載っている ものでわずか10行のものです。 TELNETで動作も確認したんですが・・・ 何分、初心者なもので・・・考えられることがあったら 教えていただけると助かります。
回答: #!/usr/local/bin/perl print "Content-Type: text/html\n\n:; print "test page!"; print "TEST\n"; これ、ちゃんと動くかやってみてもらえます? これが駄目なら.htaccessの記述がまずいか、サーバーの使い方 (特定ディレクトリじゃないと動かないなど)か、そもそもユー ザーのCGIを使用禁止しているかです。 あと良くあるんですが、スクリプトの中にshift-jisの日本語が 入っていると見かけどう考えてもおかしくないのに動かない事 がありますので、コメントを含めて2バイトコードが含まれてい るのであればEUC-jpに変換してください。