• 締切済み

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は動くのですが・・・ 初めてでして質問の場所など違ってましたら申し訳ございません。 どなたかわかられる方いらっしゃいましたらぜひご教授お願いいたします。

  • CGI
  • 回答数4
  • ありがとう数0

みんなの回答

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.4

そのプログラムは、perlのみではなくunix系システムコマンドを呼び出しているようなので、 unixに関する知識がなければ、問題が発生したときに、結局サーバーに迷惑がかかることもありそうです。

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.3

その空っぽ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のスクリプトを見ないことには、原因はわかりません。

purin77777
質問者

補足

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

  • moon_night
  • ベストアンサー率32% (598/1831)
回答No.2

flockなどはWIN系では使用できなかったような気がしますが、そのような処理が入ってたりする場合があります。 コマンドプロンプトで >perl -wc hoge.cgi 等でエラーチェックすればある程度わかるのでは?

purin77777
質問者

補足

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

回答No.1

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

purin77777
質問者

補足

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

関連するQ&A

  • Hyper Estraierのcgiが結果表示をしてくれません。

    Windows2000サーバー・Apache2.0で動作しているHyper Estraierのcgiを、設定ファイルやインデクスともどもWindows Server2003のIISのサーバに移動したところ、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を同じところにおいてみたら、そちらは動作するのですが・・・ 考えられる原因は何でしょうか?

    • 締切済み
    • CGI
  • SEO対策として検索しやすくしたいために キーワード を入れて置きたい

    SEO対策として検索しやすくしたいために キーワード を入れて置きたいのですが metaとtitleのどの部分に入れれば良いのでしょうか? 初心者なので教えてくださいませんでしょうか? よろしくお願いします。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>無題ドキュメント</title> </head>

  • ドコモの背景について

    ドコモの公式サイトを見たら背景が三つにわかれていたりしているのですがあれは一体どうやったらできるのでしょうか?? 無料のHP作成で使えるタグなのでしょうか? またそのタグを是非教えてほしいです。 調べてもよくわからなかったので・・・。 ちなみに <?xml version=”1.0” encoding=”Shift_JIS”?> <!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN” ”http://www.w3.org/TR/html4/loose.dtd”> <html lang=”ja”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=Shift_JIS”> <title>test</title> </head> <body> <div style=”background-color:red”> </div> <div style=”background-color:blue”> </div> <div style=”background-color:green”> </div> </body> </html> というのをそのまま試しに貼り付けてみてもできませんでした・・・・。 ?xml version=”1.0” encoding=”Shift_JIS”?> <!DOCTYPE HTML PUBLIC ”-//W3C//DTD HTML 4.01 Transitional//EN” ”http://www.w3.org/TR/html4/loose.dtd”> <html lang=”ja”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=Shift_JIS”> の部分の事がわからないのが原因かと…。 誰か心優しい方教えて下さい・・・。

    • ベストアンサー
    • HTML
  • 「 <!--#exec cgi="***.cgi" --> 」が表示されません

    「main.cgi」というファイルを作り、単純にHTMLを表示するだけのCGIファイルを作成しました。 こんな感じ ------------main.cgi------------ #!/usr/local/bin/perl print "Content-type:text/html\n\n"; print <<EOM; <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> </head> <body> <略> </body> </html> EOM __END__ -------------------------------- それで、ほかのHTMLファイルに <!--#exec cgi="main.cgi" --> と入力してそのページを見てみると、 [an error occurred while processing this directive] 上の文章が表示されていました。 どうすれば「main.cgi」の内容を表示することができるのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Perl
  • ファイルの一部をhtmlにしたい

    初心者です。 PHPを使ってできるかわからないのですが、 CGIで出力されたファイル(a.dat)の一部を違うHTMLファイル(b.html)にしたいと思っています。 この場合どうやったらいいでしょうか? CGIの掲示板などをせっちするのはできるのですが、 PHPは初めてです。できるかどうかわかりませんが 質問させてください。よろしくお願いします。 ---a.dat----- aaaa bbbb cccc ------------ ---b.html---- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=Shift_JIS" /> <meta name="robots" content="noarchive" /> <title>pickup</title> </head> <body> bbb </body> </html> ---------------

    • 締切済み
    • PHP
  • TomcatでのCGI

    Tomcatでcgiを動かすため、以下のことをしました。 servlets-cgi.renametojar を servlets-cgi.jar に名前変更 web.xmlを修正 (<servlet>と<servlet-mapping>のコメントアウト) cgiのファイル作成 #!/usr/bin/perl print "Test"; アクセスすると、真っ白な画面しか表示されず、ブラウザでソースの表示をすると、以下のソースしかありません。 <!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> http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=12&topic=11945 ここの方は、Apacheと連携することで解決しています。 しかし、Tomcatのみで動かそうと思っているので、ご指導よろしくお願いいたします。

  • ファイヤーフォックスでは、フレームが表示されません。

    タイトル通りで、当方のホームページビルダーV6.5で作ったHPのフレームがファイヤーフォックスでは、表示されません。どうしたらいいか教えてください。 <フレームページ> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 6.5.0.0 for Windows"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> </HEAD> <BODY></BODY> </HTML> <インデックスページ> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 6.5.0.0 for Windows"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> </HEAD> <FRAMESET cols="15%,85%"> <FRAME src="newpage2.htm"> <FRAME src="newpage3.htm"> <NOFRAMES> <BODY> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P> </BODY> </NOFRAMES> </FRAMESET> </HTML> よろしくお願いします。

  • PHP

    PHPで、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <title>テストのページ</title> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> </head> <body> <p>これはテストです</p><p>本日は 晴天なり</p> </body> </html> と、簡単なプログラムを打ったんですが、ブラウザで表示されません。ちゃんとApacheも設定したのですが・・・ どうすれば、ブラウザで表示できるようになるのでしょうか?

    • 締切済み
    • PHP
  • alphaEDITについて

    alphaEDITの2.0.3 Build 268を愛用しています。 OSは、Win XP SP3です。 今まで、alphaEDITの2.0.3 Build 268でずっとサイトを更新してきました。 しかし、今回起動してみると、以下のような症状が現れました。 起動時 HTMLソースで表示すると、以下のようなタグが表示されます。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <title></title> </head> <body> <p>&nbsp;</p> </body> </html> 一度、WYSIWYGに切り替えて、HTMLソースに戻すと、 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html><head><title></title> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta content="MSHTML 6.00.6000.16890" name="GENERATOR"></head> <body> <p>&nbsp;</p></body></html> に変わってしまいます。 今までこのようなことはありませんでした。 iniも消してみましたが、直りません。 設定をいじった記憶もありません。 すみませんが、このような症状の直し方を知っている方がいらっしゃいましたら、 教えていただけないでしょうか

  • フレームページに文字が表示されなくて困ってます><

    フレームページに文字が表示されなくて困ってます>< フレームページは表示されるのですがmenu.html.htmlやcontents.html.htmlに書いた文字が表示されません どこが間違っているのでしょうか? ーーフレームページーー <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タトル</TITLE> </HEAD> <FRAMESET cols="100,*"> <FRAME name="menu.html.html" src="file:///D:/happystyle/menu.html.html"> <FRAME name="contents.html.html" src="file:///D:/happystyle/contents.html.html"> <NOFRAMES> <BODY> <P>このページを表示するには、フレームをサポートしているブラウザが必要です。</P> </BODY> </NOFRAMES> </FRAMESET> </HTML> ーーmenu.html.htmlーー <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タイトル</TITLE> </HEAD> <BODY> 画像置き場 </BODY> </HTML> ーーcontents.html.htmlーー <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"> <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>タイトル</TITLE> </HEAD> <BODY> 画像表示 </BODY> </HTML> というHTMLを書きました! フレームに表示させたいページのHTMLはフレームと同じフォルダに入っているのですがこれと関係ありますか? どこがおかしいのかまったくわからないです 教えてください!

専門家に質問してみよう