- ベストアンサー
CGIの実行ができません
はじめまして。 現在、出欠表を作るためにperlを勉強しているのですが、 フォームの作り方を勉強しようと、本を参考に掲示板のプログラムを作った(写した?)のですが、 サーバーにupしても実行できず悩んでいます。 文法はpcheck.cgiというものを使って間違いないとでており、 権限も755にしているのでできないことは無いと思いますが、 なぜか500エラーがでてしまいます。 そのソースには他に使うファイルとして、log.txtというのがあるんですが、 自動生成されるのか分からなかったので、同一ディレクトリに つくり、666にしております。 考えられる原因はあるのでしょうか? 教えていただけたら幸いです。 必要でしたら、ソースを49にupしようと思います。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
これ、前に質問してgooに違反で消されたやつですね。(ぉ そのとき回答してました。 残りのひとつは、 121行目 @pairs = sprit(/&/,$form_data); spritではなくsplitです。
その他の回答 (4)
- marimo_cx
- ベストアンサー率25% (873/3452)
ただのスペルミス2箇所のようです。 ちなみにソースの提供の仕方がここの規約違反の疑いがあります。
お礼
1箇所発見することができました!ありがとうございます。 decodeがdecordeになっていたためサブルーチン名が違うので 実行できるわけないですね;; ただあと1箇所だけどうしても見つけられません><; よろしければ教えていただきたいのですが?
補足
だったのですか^^; もっとよく見てみます。 ソースの提供の仕方を間違えているみたいでした。 気をつけます。
- marimo_cx
- ベストアンサー率25% (873/3452)
ソース見ないとわかりませんが、有りがちなところでソースに異常は無いけど、ソース中に日本語を使っていてShift-JISにしてるとか?
補足
日本語を使用していますが、 どのあたりでShift-JISと記述しているのかも記述していないのかも、 判断できない状態です;; METAタグには入っていますが^^;
- mio_design
- ベストアンサー率25% (372/1457)
500 Internal Server Errorは、スクリプトのエラーです。よくあるミスが ・改行コード(LFになってますか?) ・カッコのミス(閉じ忘れなどありませんか) ・スペルミス ソース見直しても分からない場合は、CGI::Carpモジュールなどを一時的に組み込んで、エラー内容を表示させます。表示されるエラーを元にソースを追っていけば、原因がつかめると思います。 CGI::Carpモジュールの使い方は詳しく出てます(URL参照)
補足
mioさんがあげられたようなミスでは文法エラーはでないということでしょうか?^^; 今PCのほにperlを組み込んでいない状態なので、CGI::Carpを試せなくて;; これから組み込んでみます。 air"H"で非常に回線が遅いのでDLしあぐねてました。
ソースを見ないと判断が難しいですが、サーバ上のPerlのあるディレクトリに間違いは無いですか? できれば、ソースのアップとサーバ環境を書いた方が的確な回答が得られると思います。
補足
サーバー環境については、さくらのレンタルサーバーという ところを有料で借りています。環境っていうのがどう書いていいものか わからなくて・・・すみません。 自作CGIは使用可能で、perlへのアドレスが/usr/bin/perl です。とくにアドレスは間違っていないと、check.cgiにでていました。
お礼
どうもありがとうございます;; 助かります!