- 締切済み
CGIでわからないんです。
Perlでプログラムを組んでデバッグもすませてwebにアップしたのですが、テスト運用でCGIファイルに対して絶対パスで <a href="http://***/**.**.**/~***/cgi-bin/***.cgi"> のようにしてリンクしたのですが、動作しません。 プロバイダはbiglobeで、例としてACTIONを使うのが乗っていたのですが、例えばチャットを設置する場合はトップページからチャットにリンクを張りますよね?そこでCGIを呼び出すとしてもactionの使い方がわからないのでどなたか教えて下さい。 一応Perlのパスやパーミッションの設定は指示通りにしています。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- wildspin
- ベストアンサー率0% (0/1)
えー、的外れかもしれませんが、もしかしてcgiで画像を表示させようとしていますか? もしそうならば <img src="http://***/**.**.**/~***/cgi-bin/***.cgi"> とやって呼び出し、perlの頭で echo "Content-type: image/gif" echo (空行が1つ必要です) とやって、そのあとバイナリを標準出力に送れば画像は出ますが.... 関係なければすみません
- callhiro
- ベストアンサー率35% (54/152)
「CGI専用サーバーで他の種類のファイルが呼び出されました」 って見たことありますね~。 あと 「CGIが、設置されているユーザ(本人)のホームページ領域以外から呼び出されました。」 っていうのもありますよね。 後者はBIGLOBEのホームページ以外からCGIを呼び出すと出るエラーなんですが、 honronさんのエラーはいつ出るか忘れてしまいました。 ですので推測で答えますが、データファイルなどの外部ファイルを呼び出すときの パスを修正するば治るんじゃないかなと思います。 フルパスで書いたりいろいろ変更して試行錯誤してみてください。 >カウンターを自作CGIを使って動作させる場合はCGIをヘッダ部分で実行しておいてボディ部でイメージを呼び出せば良いのでしょうか?質問を追加してお願いします。 えっとこれはどういう意味なのでしょう? 自作のCGI(カウンターではないCGI)で表示される画面上に、 別のカウンターCGIを使ってカウンターを表示させる方法を教えてくださいという意味でしょうか? そうだとして、「CGIをヘッダ部分で実行」の部分がいまいちよくわかりません。 良かったらもう少し補足していただけるとうれしいです。 ただ、カウンターのCGIなら普通にボディ部()htmlの<body>の事ですよね?) で呼び出せばいいだけなのでは?と思うのですがうまくいきませんか?
補足
カウンターに関しては私の勘違いでした。お答えのように<body>で呼び出して実行できるようです。 BBS等に関しては外部ファイルの設定などを色々試してみたいと思います。
- callhiro
- ベストアンサー率35% (54/152)
honronさんのアドレスは http://www**.biglobe.ne.jp/~***/ の「www**」の「**」の部分は何でしょうか? ここが「www5*」の場合、cgiの起動は注意が必要です。 おそらくその間違いではないかと思います。 もしも現在honronさんのホームページのアドレスが、 http://www5*.biglobe.ne.jp/~***/ だとしたら、CGIを起動させるときは http://cgi.www5a.biglobe.ne.jp/~***/***.cgi のように、wwwの前に「cgi」ってつけないと動作しません。 もし「www5*」でないとしたら違う原因を考えないといけませんが。 ちなみにエラーはどのようなエラーが出るのでしょうか? あと、デバッグを済ませたというのは、自分のパソコン上で CGIが動く環境を作ってデバッグしているのでしょうか?
補足
早速の回答ありがとうございます。 URLはご指摘の通りhttp://cgi.www5*.biglobe.**.**/~***/***.cgiとしているのですが、「CGI専用サーバーで他の種類のファイルが呼び出されました」とエラーがでます。 自分のPCに「Active perl」をインストールして、DOSプロンプトを使用してデバッグはすませました。 あと、カウンターを自作CGIを使って動作させる場合はCGIをヘッダ部分で実行しておいてボディ部でイメージを呼び出せば良いのでしょうか?質問を追加してお願いします。
お礼
今回は画像を表示させようとはしてないのですが、機会があれば参考にさせて頂きます。