- ベストアンサー
CGIが動かない
CGIに関してです。 下記にて入手可能なフリーのCGIが動かなくて困ってます。 詳しい友人曰くソースが古すぎるのではないか? ということでした。 当方所有のサーバーはロリポップレンタルサーバーで もちろんCGI設置可能です。 過去にも何点かフリーのCGIを動かしたことはあります。 本当にCGI本体の問題なのか検証できる方はいらっしゃいませんでしょうか? CGI本体: http://www.minicgi.net/cgi2/list.html 紹介サイト(サンプル2) http://www.minicgi.net/cgi2/
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
いろいろ試してみたので結果を書いておきます。 ■前提 Perl 5.18.0 にて Plackを使ってcgiを動かしてみました。 ■結果 indexの画面は問題なく表示されますね。 で、新規登録画面も問題なく表示されるのですが 登録するロジックの部分がどうも怪しい感じですね。 具体的には、クエリのmodeの値がaddの時add関数に飛ぼうとしているのですが クエリのmodeにaddが見当たらない・・・ そのため、一生懸命登録しようとしても登録用のdata.datファイルにいつまでも情報がたまらずという感じがします。 これ以上は、作成者さんの意図が汲み取れずここいらで断念してしまいました。 (自分もがっつり眺めているわけでないので、見落としがあるかもですが、少なくとも登録する分岐には移動してくれなかったのは確認してます…) ■おまけ ロリポップのperlのバージョンが5.8.8(2006/1/31リリース)であることを考えると 2005年のソースだから古くてうんぬんという意見はどーかと思います。 そもそも全く表示されないとかでしたら、設定とか属性とか間違っている 可能性もあるのであきらめず、見直してみてはどうでしょうか?? ※もうちょっと詳しい情報があったほうがよいっすね。 ※表示されるけど○○が動かないとか。そもそも全く動かないとか。 ※自分は、perlに詳しい人じゃないので参考情報程度でお願いします。
その他の回答 (5)
- sample_
- ベストアンサー率76% (20/26)
もっかいソースを眺めてみました。 addの件も理解。 こちらの問題で、他のとこでうまく動いていないだけでした。 あらためて。 たぶん、今こんな感じなんだと思います。 1. データをアップロードする 2. readme.txt を参考に Perlのパスや属性を変更する 3. http://**********/list にアクセスする 何も表示されない。 ソースを見ても <html></html> たぶんここで困っているのだと思います。 4. http://**************/list/list.cgi にアクセスしたら表示されませんか? 5. data.datにアクセスできませんと出ている場合… ダウンロードしたデータにはdata.datファイルがないので data.datファイルは作成してあげる必要があるっぽいですね。 作って、属性を与えたら問題なく動きました。 いかがでしょう?
お礼
本当に助かりました。 別のサイトでの回答者の意見と併せて無事解決です。 多謝です<(_ _)>
- play_with_you
- ベストアンサー率37% (112/301)
- sample_
- ベストアンサー率76% (20/26)
連投ですみません。 ひょっとしたらページにアクセスしたら、何も表示されず htmlのソースみたら <HTML></HTML> の状態って感じですか?
お礼
そうなんです・・ 初心者ですみません・・・
- ORUKA1951
- ベストアンサー率45% (5062/11036)
エラー内容を補足して犯人を特定しないと、解決は出来ません。 telnetは使えないでしょうから、BEGIN{}でエラー内容を確認しましょう。
- kmee
- ベストアンサー率55% (1857/3366)
まず、どう「動かない」なのか、はっきりさせてください。 CGI初心者がおかしがちな失敗というと ・#!/~/perl のパスが違う 特に複数ある場合には全部変更する必要がある ・ファイル/ディレクトリの権限が違う 一般的には、作者指定のものにすればいいはずだが、それではできないケースもある です。これらは大丈夫ですか? CGI::Carpを使うと、エラーをエラーログやブラウザに出力させることができます。 http://perldoc.jp/docs/modules/CGI-2.89/CGI/Carp.pod そのサイトを見ると、新着が2005年となっているので、確かにソースが古くて現在のバージョンでは対応できていない可能性はあります。 おそらく、jcode.plやcgi.plも時代遅れのものを使っているのでは、と推測されます
お礼
つまり動いたとしても使い物にならないということでしょうか? 初心者で申し訳ございません・・