ブラウザから起動すると、プログラムが終了するエラーについて

このQ&Aのポイント
  • ブラウザから起動した際にプログラムが終了してしまうエラーの原因について質問です。
  • コマンドラインから起動すると正常にHTML文を出力できるのに、ブラウザから起動するとエラーが発生します。
  • ActiveState社のPDKを使用しており、シュバング行に-dを付けてもエラーが解消されません。このような状況について経験のある方がいらっしゃいましたら教えてください。
回答を見る
  • ベストアンサー

ブラウザから起動すると、いきなりプログラムが終了してしまいます。

今制作中のCGIをブラウザから起動すると  Error 500  CGI エラー - 標準出力に何も出力されていません。 でもコマンドラインから起動すると、しっかりHTML文を吐き出しています。もちろんCGIヘッダーも吐き出しています。 デバッガとしてActiveState社のPDKを使っているので、シュバング行に-dを付けておけばブラウザから起動しても一行ずつ実行されるはずですが、実行されません。URL窓にURLを打ち込む、即前述のエラーが出る次第です。 PDKのバグではなかろうかと思ったりしますが、シュバング行の-dを外しても症状がまるで変わらないというのは・・・ こういう症状を体験されたことのある方はいらっしゃらないでしょうか? 何が原因だと思われます? 言語はPerlです。

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

質問者が選んだベストアンサー

  • ベストアンサー
  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.2

すみません、間違えました。 (3)の後半の Windows、MACのパソコンからアップロードするなら、改行コードを 0x0D に変換してから転送するか、  ↓ Windows、MACのパソコンからアップロードするなら、改行コードを 0x0A に変換してから転送するか、 ですね。

makoji
質問者

お礼

An Httpdのエラーでした。 An Httpdのサイトを見てみると、「エラー500を吐くようになったら再起動」と書いてありましたが、再起動しても駄目でした。 結局、再インストールして復活です。 An Httpdの窓のタイトルが  「待機中、httpd-接続要求待ち」 となるのは正常のようです。 お騒がせしました。

makoji
質問者

補足

アドバイス、ありがとうございます。 どうもサーバーがおかしくなったようです。 An Httpdを使っているのですが、以前は動いていたCGIも動かなくなっています。 で、正常なのか異常なのか分からないのですが、An Httpdの窓を開くと  待機中、httpd-接続要求待ち とタイトルにあって  HTTPサーバ名:PC3ポート:80  WinSock2.0(WinNT) デスクトップ:Winsta0\Default  ドキュメントルート:O:\public_html と出ます。 タイトルだけ見ていると、ローカルサーバーが何らかの理由で起動しなくなってしまったのではないかと思う反面、でもDOS窓からCGIを起動するとちゃんと動くんだからサーバーは動いているはずだし・・・ ???

その他の回答 (1)

  • okmotokun
  • ベストアンサー率59% (92/155)
回答No.1

perlのCGIプログラムが実行できない場合の原因はたいてい次のようなものです。 (元々CGIが使えないサーバは別にして) (1)構文エラー  -w スイッチで確かめてみましょう。 (2)perlインタプリタのパス不正  たいがいのサーバは、#!/usr/bin/perl、#!/usr/local/bin/perl、どちらでも良い、のいずれかです。 (3)改行コード不正  サーバがUNIX系OSなら 0x0A です。Windows(DOS)の 0x0D0x0A、MACの 0x0D のままでは 1行目に書いたperlを見つけられずエラーになります。  Windows、MACのパソコンからアップロードするなら、改行コードを 0x0D に変換してから転送するか、FTPのASCII(TEXT)モードでアップロードします。 (4)アクセス権(パーミッション)不正  今のレンタルサーバはほとんどがユーザ権限で動くように設定されていますから 700 で良いはずです。これでだめなら、701か、705 にしてみてください。 (5)requireするライブラリ、useするモジュールがあるべきところに無い、または壊れている。 (6)ヘッダが正しく出力されていない  print "Content-Type: text/html; charset=使用文字コードセット名\n\n"; (ヘッダとボディーの境界として空行が必要だから改行は2個) (7)まれに、.htaccessファイルでCGIを使うための設定が必要なサーバがあります。

関連するQ&A

  • Perl Dev Kit error

    いつもお世話になります。 ActiveState.comのActivePerl 5.14.4をwindows 8にインストールしました。 それから去年ActiveState.comから購入した(少し古い)  Perl Dev Kit 9.2.1とそのライセンスをインストールしました。 PDKのツールたとえばPerlAPPを起動しようとすると Win32:BuildNumber not consistent with perl -v というエラーがでます。 ActivePerl は5.16.3もダウンロードできますが、やはり同じエラーです。 もう一度PDKを買いなおさないとだめでしょうか。。。 ご指導のほどお願いいたします。

    • ベストアンサー
    • Perl
  • javascriptのプログラムをIEで実行する時デバッガが起動しないようにしたい。

    中学生にJavascriptのプログラム作成の体験をしてもらっています。IEを最新のものにUPしたところ領域名などの間違いがあった場合エラー表示が出てデバッガが起動してしまいます。ほんの数行のプログラムなので自分で間違いを探すデバッグ経験をしてもらいたいのでエラー表示とデバッガが起動しないようにするにはどのようにすれば良いのか教えてください。

  • ブラウザが起動しない

    ブラウザが起動できません。起動しようとするとIeexproerにエラーが発生しましたと出て強制終了してしまいます。そこでFirefoxを別のパソコンでダウンロードしてインストールしたのですが、今度はfirefoxにエラー・・と出て起動できません。 この症状が発生したのはバッファロー製の無線LANアンテナ(USB)を挿してからです。 ドライバの再インストールをしても症状は改善しませんでした。 ただし、IPアドレスはルーターからグローバルIP(192.168・・・)が割り当てられています。 OSはWindowsME、富士通製のものです。

  • wwwブラウザーアイコンでIEが起動できない

    デスクトップの再構築したあとなぜかwwwブラウザアイコンをダブルクリック すると ”MacOSエラー インターネットスクリプトを実行中にシステムエラーが起こりました。”とでて起動できません。 もちろんIEのもとアイコンからは問題なく起動できます。またインターネットコントロールパネルでデフォルトブラウザをネスケにするとこの症状は全くでません。 再度デスクトップ再構築、PRAMクリアと行いましたが改善しません。 環境はiBook(DualUSB) OS9.2.2,OSX10.12 メモリ384Mです。 どなたか助けてください。

    • 締切済み
    • Mac
  • apacheは起動してるのですが、ブラウザ参照ができなくなりました

    CGIの勉強で、apacheを使っています。 今まで、CGIの実験スクリプトを、その場で確認、及び、ブラウザへの結果出力がきちんとできていました。 先ほど、いつものように実験スクリプト動作を確認しようと思ったら、 『検索中のページは現在、利用できません。Web サイトに技術的な問題が発生しているか、ブラウザの設定を調整する必要があります。 』 …という、おなじみのエラー報告が出てくるようになりました。 何の設定も変えずに、いつもと同じようにしただけなのに、どうして急にこのようなエラーになるのでしょうか? もちろん、apacheはタスクバーで動作しています。 何か解決策をご存知の方は、是非ご教授下さい。 よろしくお願いします。

  • ブラウザとCGIアプリの関係?!

    なんとなく想像はできるものの、正しいかどうか確認させていただきたく 質問させていただきます。 WEBアプリですが、例えば 「ブラウザの処理実行ボタン」クリック→「CGIアプリ」→「結果表示」 のような流れだったとして、 処理実行ボタンをクリックしてすぐにブラウザを閉じた場合、CGIアプリはどこまで処理が行えるのでしょうか? ※CGIアプリの処理はブラウザを閉じるまでの時間よりは長いとした解釈でお願いします。 CGIアプリがreturnで抜けるまで、ブラウザはなくても処理は行ってから終了。 また、 returnの前にブラウザに出力していたら、(ブラウザは無いわけで)returnの前にCGIアプリは終了してしまう。→処理途中で終わってしまうことがありえる よろしくお願いします。 わかりづらかったら、申し訳ありません。

    • ベストアンサー
    • CGI
  • CGIからのプログラム起動

    現在Web上のボタンを押したときにCGIから別プログラムを起動する処理を作成しています。 処理の流れ ボタン押下→AAA.CGIが実行→BBB.sh(cshプログラム)→CCC.pl→DDD BBB.shは"unlimit datasize"を指定してCCC.plを実行しているだけです。 CCC.plは"exec"でプログラムDDDを起動 しかし上記のように処理を行うとプログラムDDDの実行結果がエラーとなってしまいます。 そこで試しにコンソール上からBBB.shを直接実行してみたのですがこのときはプログラムDDDの実行結果は正常に終了しました。 またプログラムDDDを直接実行した場合も正常に終了しました。 CGIからシェルやperlを実行するのと直接実行するのとでどういう違いがあるかアドバイスをお願いします。 原因が全く分からない状態で手詰まり状態なので手がかりになることでしたらなんでもアドバイス願います。

    • 締切済み
    • CGI
  • 外部プログラムの起動と監視

    イントラネット内のLinuxサーバにあるプログラムをクライアントPCのブラウザから 起動しそのプログラムが出力するログを一定周期でブラウザに表示して プログラム終了時にはユーザーに知らせたい。 また、プログラムは同時起動が不可能なものとしたい。 PHPなどのCGIスクリプトでは、ブラウザとのセッションが切れてしまえば サーバー側のプログラムは走りっぱなしになってしまいます。 外部プログラムの監視や排他制御を考えると非常に複雑な処理になることが 予想されます。 そこで質問なのですが、サーバーのプログラムの起動と監視をクライアントPCの ブラウザから行いたいのですがJavaの技術を使うことで容易になりますか? また、ブラウザを使わない通信プログラムを作成すれば可能となりますか? 詳しい方がいましたら教えて下さい。宜しくお願い致します。

    • ベストアンサー
    • Java
  • ブラウザ経由でサーバ側のプログラム起動方法

    下記環境でイントラを構築しております。  サーバー(1台)   ・Windows7 Pro   ・IIS9   ・SQL Server 2008 R2   ・Access2003(上記SQLにODBC接続)  クライアントPC(1台)    ・Windows7 Pro 開発環境はASP.netではなく、VBScriptによるASPです。 上記の環境において、クライアントのブラウザ上から、サーバー側のAccessのレポートを出力させる方法を模索しているところです。 サーバー側でAccess+SQLは常時起動しており、できればこのMDBのレポートを出力させたいと考えており、それが困難であれば別MDBを都度起動しても問題ありません。 ポイントとしては、  ・クライアントのブラウザ上から、サーバーのプログラムを実行する方法  ・既に起動中のAccessのレポートを出力させる方法 となります。 上記2点の方法につきまして、いずれかでも結構ですのでご教授頂けたらと思います。 宜しくお願い致します。

  • ブラウザが立ち上がらなくなる。

    閲覧ありがとうございます。 PCを使用しているとブラウザが開かない現象が必ず起きてしまい困っています。 ただ開かないという訳ではなく、PCを起動して数十秒経つと開かなくなるという感じで、起動してホーム画面になってすぐブラウザを起動すると普通に立ち上がるという謎症状です。(ですがその後に新しくブラウザを起動しようとしても起動しません。) 先月までは問題なく使えていたのですが、急にこのような症状が起き、ブラウザを変えたり再インストールしてみたりと試してみましたが、直りません。(クロームはアイコンをクリックしてもページすら表示されず、IEは必ず応答しなくなります…) それと趣味でよくフリーゲームや同人ゲームをDLしているのですが、付属されているブラウザURLの説明書なんかもブラウザが立ち上がらないので読めずに困っています。 どなたか原因分かる方いましたら、回答お願いします。 OSはWindows7で、セキリュティソフトはブラウザが立ち上がらなくなる以前からMSEとファイアウォールを使っています。