- 締切済み
CGIでのPC内でのテストで画面が真っ白に・・・
はじめまして、初めてこちらに質問をさせていただきます。 早速なのですが現在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は動くのですが・・・ 初めてでして質問の場所など違ってましたら申し訳ございません。 どなたかわかられる方いらっしゃいましたらぜひご教授お願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- hrm_mmm
- ベストアンサー率63% (292/459)
そのプログラムは、perlのみではなくunix系システムコマンドを呼び出しているようなので、 unixに関する知識がなければ、問題が発生したときに、結局サーバーに迷惑がかかることもありそうです。
- hrm_mmm
- ベストアンサー率63% (292/459)
その空っぽ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のスクリプトを見ないことには、原因はわかりません。
- moon_night
- ベストアンサー率32% (598/1831)
flockなどはWIN系では使用できなかったような気がしますが、そのような処理が入ってたりする場合があります。 コマンドプロンプトで >perl -wc hoge.cgi 等でエラーチェックすればある程度わかるのでは?
補足
flockは入ってないみたいなんです・・・
- corocoro1616
- ベストアンサー率13% (12/87)
UNIX系とWindows系だと Perlも一部違いがあるし バージョンによっても 多少の違いがあるし そこら辺は?
補足
なるほど、UNIX系かもしれません・・・ UNIX系だとやはりAnHttpdとactiveperlではテストは できないのでしょうか?
補足
すごい詳しいご回答有難うございます。 mozilla系のブラウザのFirefoxで試してみたのですが変わらず真っ白です。 「CGI出力を検査」にチェックを入れても変わらずで・・・ ちなみにスクリプトなのですが http://members.jcom.home.ne.jp/masimaro/cgi.html こちらで配布されているtriplefantasyというものです。 ゲームなのでいきなりウェブサーバーは他の方にも迷惑がかかると思ってるのですがこういう状況で・・・