アプリ版:「スタンプのみでお礼する」機能のリリースについて

はじめまして、初めてこちらに質問をさせていただきます。
早速なのですが現在AnHttpdとactive perlを使ってCGIをテストしているのですがCGIにアクセスすると画面が真っ白になりソースも
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=shift_jis"></HEAD>
<BODY></BODY></HTML>
このようになってしまいます。
パソコンの設定かと思いリカバリーなど行ってみたのですが状況がまったく変わりません。
ウェブサーバー上ではまったく問題なくCGIは動くのですが・・・
初めてでして質問の場所など違ってましたら申し訳ございません。
どなたかわかられる方いらっしゃいましたらぜひご教授お願いいたします。

A 回答 (4件)

UNIX系とWindows系だと


Perlも一部違いがあるし
バージョンによっても
多少の違いがあるし
そこら辺は?

この回答への補足

なるほど、UNIX系かもしれません・・・
UNIX系だとやはりAnHttpdとactiveperlではテストは
できないのでしょうか?

補足日時:2006/02/23 23:53
    • good
    • 0

flockなどはWIN系では使用できなかったような気がしますが、そのような処理が入ってたりする場合があります。



コマンドプロンプトで
>perl -wc hoge.cgi
等でエラーチェックすればある程度わかるのでは?

この回答への補足

flockは入ってないみたいなんです・・・

補足日時:2006/02/24 18:00
    • good
    • 0

その空っぽhtmlは、サーバーからのデータが無いときにIEが勝手に挿入するタグだったと思います。


なので、CGI実行チェックはIEではなくmozilla系のブラウザで行う方がいいと私は思っています。

>UNIX系だとやはりAnHttpdとactiveperlではテストはできないのでしょうか?

ファイル操作関係の多少の違いを知っていれば、あとは、OSに依存しない部分のデバッグはwindows上でも十分可能です。
AnHttpdでローカルで実行チェックするだけなら、オプション:「一般」タブの下の方にある、「CGI出力を検査」にチェックを入れるとCGI実行エラーメッセージをブラウザに表示できます。

自作カウンターの経験では、activeperl5.6のflock関数は、windows(95,XP)では何もおこらないだけで、エラーにはならなかったけど。
以下のコードはバイナリーファイル(画像ファイルなど)を扱うときは、windowsでは必須です。無いとエラーが出ます。
このコードを書いたものをunix系サーバーにアップしても問題はありません(何も起こらない)。
binmode(STDIN); # we need these for DOS-based systems
binmode(STDOUT); # and they shouldn't hurt anything else
(コメントごとcgi-lib.plから引用)

あとは、perlのスクリプトを見ないことには、原因はわかりません。

この回答への補足

すごい詳しいご回答有難うございます。
mozilla系のブラウザのFirefoxで試してみたのですが変わらず真っ白です。
「CGI出力を検査」にチェックを入れても変わらずで・・・
ちなみにスクリプトなのですが
http://members.jcom.home.ne.jp/masimaro/cgi.html
こちらで配布されているtriplefantasyというものです。
ゲームなのでいきなりウェブサーバーは他の方にも迷惑がかかると思ってるのですがこういう状況で・・・

補足日時:2006/02/24 19:01
    • good
    • 0

そのプログラムは、perlのみではなくunix系システムコマンドを呼び出しているようなので、


unixに関する知識がなければ、問題が発生したときに、結局サーバーに迷惑がかかることもありそうです。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!