• 締切済み

cgiでコードがそのまま表示されてしまいす。

CGIを勉強中なのですがブラウザにコードがそのまま表示されてしまいます。 OSはビスタ、ソフトはActivePeal5.7.8.813とapache_2.0.54を使っております。 会社のパソコン(XP)だとスムーズに行くのですが、自宅のビスタだとそうはなりません。 他の方の質問を参考にいろいろ試したのですが、解決できません。 #! c:/perl/bin/perl # CGIヘッダーの出力 print "Content-type: text/html\n\n"; こんなかんじでブラウザに表示されます。 どの様な対処方法がありますでしょうか?

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

みんなの回答

回答No.2

僕も同じ本購入し、同じ問題が起こりました(XPユーザです。) なんども本を読み直したらわかったのですが、項目「Apacheの起動と終了」で説明されていました。 Apacheはconfファイルに設定される前から起動しているため、Apacheを再起動しない限り反映されないようです。 一度Apacheを「Restart」し、confファイルの内容を反映させなければいけないようです。

noname#91075
noname#91075
回答No.1

apacheの設定だと思います。 httpd.confはどうなっていますか? 参考URLの「CGI の実行を可能にするために Options を明示的に使用する」を忘れて失敗することが多いですね。 一度確認してください。

参考URL:
www.apache.jp/manual/howto/cgi.html
akasyu-
質問者

補足

高橋大吾の10日で覚えるPeal CGIという本で勉強しております。httpd.confは教科書通り書き換えたのですが、、、 今日、会社で友達に聞いてみたらapache_2.0.54はビスタに不向きなので2.2.11に変えた方が良いと言われました。 そこで2.2.11にインストールし直したのですがやはりブラウザにcgiコードがそのまま表示されてしまいました。 2.2.11の方はhttpd.confは触っておりません。 もしあれば、参考になるようなhttpd.confが公開されているところはないでしょうか? (やっぱりビスタ、使いづらい、)

関連するQ&A

  • CGIスクリプトの結果が表示しない

    windows2000 proffesinal sp.4でActivePerl5.8.8..819・・・・、Apache2.054の環境で"10日で覚えるPerlCGI"を使用。IEバージョンは5でページを「表示できません」のエラーがときたまでる。 上記環境でApacheは正常に動作。TeraPad使用。CGIスクリプト1-2.cgiとして作成。 #! C:/perl/bin/perl # CGIヘッダーの出力 print "Content-type: text/html\n\n"; print "<DOCTYPE HTML PUBLIC \n-//W3C//DTD HTML4.01//EN\">\n"; print "<html>\n"; print "<head><title>Hello HTML</title></head>\n";# htmlの出力 print "<body><p>こんにちわ。これはHTML文書の例です。</p></body>\n"; print "</html>\n"; 上記スクリプトを1-2.cgiとしてApaghe2-htdocs-tendaysに保存 IEのURLに:: http://127.0.0.1/tendays/1-2.cgiと入力・・・そして下記の表示が出ました。 #! C:/perl/bin/perl# CGIヘッダーの出力print "Content-type: text/html\n\n";# htmlの出力print "\n"print こんにちわ。これはHTML文書の例です。 \n";print" "; 原因を教えてください。windows7 64bit でもこのようにスクリプトだけが表示されたことがあり(perl,Apacheのバージョンも最近のものを使用)その時は、相談室にお世話になりながら自分の 未熟さにあきれお尋ねしなかったのですが、最後HTML5を習えばのお答えで、今。参考書を買って人通り見たのですが、フォームメールや掲示板はやはり裏でCGIが動作しているので。また古いパソコンで始めたのでしたが最初からつまずきました。doreamweaber もあるのですが、能力がないのに 人様の作成したフりーソフトをスクリプトの意味が分からず貼り付けるのはいささか情けないかなと 考えています。最終的にはそうなると思っていますが、できればsendmailを使用したCGIスクリプトとかんがえています,が。とりあえず一歩一歩づつと思っています。10年以上前に作成したホームページをアップしっぱなしです。メールが送信できません。当時のプロバイダーがocnでその時提供されたもので裏でCGIが動いているなんて知りませんでした。今biglobeです。 自分の作りかけのホームページのURLは http://www7b.biglobe.ne.jo/~asunarohei/indexhei.htmlです。メールのスクリプトを貼り付けたいのです。それと掲示板をリンクさせたいです。 わからないことだらけで、ご迷惑かけますがよろしくお願いします。

  • CGIでソースがそのままでてしまうのですが・・・。

    CGIでソースがそのまま表示されてしまうのですが、どうしてなのでしょうか? 先週からCGIやPerlを学び始めました。そこで簡単なものを試しに作ってみたのですが、入力したソースがそのまま表記されてしまいます。 ちなみに、こんなものです。 #! c:/perl64/bin/perl print "Content-type: text/plain\n\n"; print "Hello Perl !"; どこをどう変えればいいのか、わからないので、質問してみました。 わかる方がいましたら、教えてください。 初心者なので、お手柔らかにお願いします。 . この質問に補足する.

    • ベストアンサー
    • CGI
  • perl CGIでのhttpヘッダー出力 (Content-type:

    perl CGIでのhttpヘッダー出力 (Content-type: text/html\n\n) が不要な場合について perlでCGIを作成しています。 多くの場合は、httpのヘッダー出力(Content-type: text/html\n\)を行っています。 毎回ではないですが、HTTPヘッダーの出力が不要な場合が存在します。 (HTMLにContent-type: text/html\n\が出力され表示されます。) そこで、HTTPヘッダーの出力が不要の場合の判断方法を教えていただければと思います。 よろしくお願いいたします。

  • Apacheを入れたのにローカルでCGIが動かない

    こんにちは。今CGIの勉強をしています。perlを使っているのですが、サーバーにアップする前にローカルで動作チェックをしようと思い、ApacheとActivePerlをインストールしました。 その後、Apacheを起動して、ローカルのCGIファイルにアクセスしたのですが、ページを表示できませんと出てしまいます。 ping localhostはちゃんと通ります。 環境 OS:WindowsXP HomeEdition SP2 セキュリティーソフト:無し ファイヤーウォール:解除済み Apache設定 Network Domain 127.0.0.1 Server Name   127.0.0.1 Version2.0.58 ブラウザ:IE6.0 プログラム保存先:C:\Program Files\Apache Group\Apache2\htdocs ファイル名:hello.cgi(拡張子表示有にしている。.txtなどは無い) ActivePerl:Version5.6 保存先:C:\Perl\bin(C直下) コード #!C:/Perl/bin/perl print "Content-Type: text/html\n\n"; print "<html>\n"; print "<body>\n"; print "<h1>Hello World!</h1>\n"; print "</body>\n"; print "</html>\n"; exit; 参考にしたサイト http://perl.misty.ne.jp/01.html 以上よろしくお願いします。

    • ベストアンサー
    • CGI
  • CGIのパーミッションについて??

    「10日で覚えるPerlCGI」という本を購入して 「ActivePerl」とWindows用の「Apache」をインストールしました。 使用しているOSはVistaです。ブラウザーはIEの(多分8か9)と GoogleCromeを使用しています。 Apacheのインデックス画面と他のHTML画面は 表示されるのですが、CGIを使用した画面が表示されません。 CGIの画面を表示させようとすると下記のメッセージが表示されます。 You don't have permission to access /tendays/1-1.cgi on this server 権限が関係しているのかと思い、 ドキュメントルートとCGIの置いてあるフォルダと、 Perlの置いてある場所の権限を全てフルコンにしました。 しかしながら、このメッセージは変化ありません。 下記がCGIの中身です。 -------------------------------- #! a:/perl/bin/perl print "Content-type: text/plain\n\n"; print "Hello Perl !"; -------------------------------- どのようにしたら、このCGIファイルをブラウザで表示できるようになるでしょうか。 どうぞ、よろしくお願いしいます。

  • cgiについて教えて下さい。

    cgiについて教えて下さい。 ■cgiが実行できません。 ・os:windows7(64bit) ・apache2.2.16(windows32bit)※ローカル ・ActivePerl(インストール済み) ※httpd.confファイル(現状) ・Options Index FollowSymLinks Includes ExceCGI ・AllowOverride All ・AddHandler cgi-script.cgi ・AddType text/html.shtml ・AddOutputFilter INCLUDES .shtml ■http://localhost/abc/test.cgi を実行すると表示できず。 ・http://localhost/ にはアクセスできます。 ※windowsネットワーク診断/トラブルシューティングの結果 →リモートデバイスまたはリソースが接続を受け付けません。 ■上記、test.cgiのソース #! c:/perl/bin/perl # CGIヘッダーの出力 print "Content-type: text/html\n\n"; # HTMLの出力 print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\">\n"; print "<html>\n"; print "<head><title>Hello HTML</title></head>\n"; print "<body><p>こんにちは。これはHTML文書の例です。</p></body>\n"; print "</html>"; 以上、宜しくお願い致します。

    • 締切済み
    • CGI
  • RubyでCGIが動きません。

    RubyでCGIを作ってApacheを使ってアプリの練習をしようとしていますが、CGIのお置き場所かApacheの設定かCGIの書き方が悪いのかIEで動かすとCGIの内容を中途半端に実行して下記のようになってしまいます。 #!/ruby/bin/ruby -Ks print "Content-type: text/html\n\n" print "" print "" print "" print "" print "こんにちは、Ruby!" print "" CGIのソースは #!/ruby/bin/ruby -Ks print "Content-type: text/html\n\n" print "<html><head>" print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">" print "<title>RubyでCGI</title></head>" print "<body>" print "こんにちは、Ruby!" print "</body></html>" 一番簡単なプログラムだと思うのですが、どこがいけないのでしょうか。ちなみにOSはVISTAです。 ちょっと気になるのはApacheMonitorServerが動かないこともあります。タイトルにはErrorと出ますが、メッセージでは「この操作を正しく終了しました」と出ます。 ちなみにApacheは動いてます。LocalHostで確認できました。 どなたかどうすれば良いのか教えて頂けないでしょうか。 よろしくお願いします。結構長い時間悩んでいます。

    • 締切済み
    • CGI
  • レンタルサーバーでperlのcgiファイルを実行する手順を教えて下さい

    レンタルサーバーでperlのcgiファイルを実行する手順を教えて下さい。 レンタルサーバー会社からは、「cgi-bin」フォルダにcgiファイルを配置(アップロード)すれば ブラウザで見れると説明を受けました。 用意したcgiファイルは以下の内容です。 _____________________________ #! c:/perl64/bin/perl # CGIヘッダーの出力 print "Content-type: text/html\n\n"; #さいころを振る。 $n = int(rand 6) + 1; #HTMLの出力 print "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0.1//EN\">\n"; print "<html>\n"; print "<head><title>Perlでさいころ</title></html>\n"; print "<body>"; print "<p>さいころの目は<big>$n</big>です。</p>\n"; #御言葉を出力 if($n == 4){ print "<p>ふ、不吉な・・・。4が出ました。</p>\n"; } print "<body></html>"; __________________________________________ 一行目が原因でしょうか。ローカルで作成した、cgiファイルをレンタルサーバーに配置(アップロード)し ブラウザから見たいと考えております。 ご存知の方、教えて頂けないでしょうか。 宜しくお願いします。

  • 外部コマンドで返された値をCGIで取り込むには?

    外部コマンドで返された値をCGIで取り込むには? 環境:Activeperl 5.8.9/IIS6/Windows2003Server [hello.cgi] ==================================== #! /Perl/bin/perl #HTMLヘッダーを出力します print "Content-type: text/html\n\n"; print "エコーのテスト<BR>"; my $msg=`echo hello`; print "エコーは".$msg."です"; exit; ==================================== 上記cgiを、Windowsのコマンドプロンプト上で「c:\perl>hello.cgi」とすると、ちゃんとDOS窓上で動きますが。同ファイルに 対して、http://www.test.com/scripts/hello.cgi とすると、ブラウザ上にて、 ============= エコーのテスト エコーはです ============= のような感じになって、$msgを出力してくれません、どうしてでしょうか?お知恵をおかしください。

    • ベストアンサー
    • Perl
  • エラー表示の意味を解説してください

    CGI初心者です。自分の端末でサーバ設定し、テスト中の段階です。htmlファイルはブラウザからきちんと表示されました。が、CGIファイルを表示させようとすると、 CGI エラー - Content-Type ヘッダが正しくありません。 CGI 出力メッセージ: Can't open perl script "C:\www\hiro\ISO": No such file or directory とエラーがでます。ちなみに、スクリプトには #!/usr/bin/perl print"Content-type: text/html\n\n"; print"<HTML>\n"; print"<HEAD>\n"; print"<TITLE>CGI No1</TITLE>\n"; print"</HEAD>"; print"<BODY>\n"; print"CGIプログラム No.1,テスト成功!\n"; print"</BODY>\n"; print"</HEAD>\n"; と記述しました。なにがいけないのか教えてください。

    • ベストアンサー
    • CGI

専門家に質問してみよう