• ベストアンサー

CGIのデバッグについて

marimo_cxの回答

  • marimo_cx
  • ベストアンサー率25% (873/3452)
回答No.1

一応念のためですが、WindowsからFFFTPで、ローカルの ファイルがEUC以外の文字コードで、EUCに変換しながら アップロードすると、何故か化け化けになります。エデ ィターの段階でEUCのまま記述して、コード無変換でアッ プロードじゃないと壊れて動かない事があります。 > 属性は正しいか、 これは本当に使っているサーバーの仕様通りに設定して いますか?スクリプトの置いてあるディレクトリに対し て、オーナー以外に書込み属性を付けるとセキュリティ ー上の配慮でcgiを動作しない設定にしてある場合があ ります。更に、705じゃないと受け付けないという設定 のサーバーもあります。そこの確認はされましたか? marimo_cx

関連するQ&A

  • cgiがうごきません

    ApacheとPerlをインストールしてローカルでの動作確認OKなのですが、HP上では機能しません。 プロバイダー側が作った「アクセス権が認められてません ・・・どうたら、こうたら」のメッセージがでます。 すべてのファイル(cgi,html,pl・・)をEUC(文字)CR+LF (改行)にして、アスキーモードでアップロードしました。 Perlパスやパーミッションは間違いないとは思うのですが 、アクセスすると凄い文字化けになっています。掲示板は機能しません。FTPはFFFTPですので自動改行すると思うの ですが、コードの設定に関係があるのでしょうか? 私はWin98,プロバイダーはUNIX系です。それから、Apache とPerlを使ってエラーを調べられるようなことを聞いたの ですが、どのようにするのでしょうか?お願いします。

    • ベストアンサー
    • CGI
  • CGIのパス(Apache winで)

    初歩的な質問ですみません。 環境 windows2000 サーバー Apache/1.3.20 ActivePerl-5.6.1.626 をインストールが完了して、CGIを動作させようとしています。 ApacheでのHTML動作はできています。 CGIプログラムの一行目に #!/usr/local/bin/perl と記載されています。 その文字列を #!c:/bin/perl.exe に変更して現在動作させています。 しかし、ISPのHPスペースのperlへのパスは #!/usr/local/bin/perl なので、転送前に一行目を変更しています。 変更しなくても良いように ApacheでのCGIのパスを #!/usr/local/bin/perl で動作する方法を どなたか教えていただけないでしょうか? ちなみに Perlは[c:\bin]にインストールしてあります。 Apacheは[g:\apache]にインストールしてあります。

  • 自前サーバでCGIを~

     まずはLAN内だけで掲示板などのCGIを実行できるようにしてみよう、ということでApacheを使ってCGIの設定をしているんですが、ブラウザからCGIファイルを起動してもInternal Server Errorと出てしまいます。よってそれ以前ということで・・・  コマンドラインから「perl test.cgi」のようにCGIファイルを実行してみるとちゃんと動作するんですが、「type -a perl」で検索したフルパスをそのままCGIファイルに「#!/usr/bin/perl」などのように書いても、ファイルがコマンド化されてくれません。でも、perlの実行ファイルは存在していました。  これは、どうすれば解決できるのでしょうか?

  • 人工無能チャットcgiが動かない。

    人工無能チャットcgiが動かない。 初めのページは表示されるが、発言すると「500 Error - Internal Server Error」「CGIもしくはSSIが正しく動作していません。」となる。 「人工無能ARISA/Multi」と言う、公開を停止してらっしゃるcgiを、開発者の方に無理を言ってダウンロードさせてもらいました。 CGI設置トラブル専用の掲示板などは、もうないようなので、自力で調べて出来るだけチェックしたのですが、動いてくれません。 原因を突き止めようとじぶんがやったことは、 ★パーミッションを見直す。 ★CGIスクリプトの文法を見直す。 ★アスキーモードにして、再転送。 ★CGIスクリプト1行目のperlのパス指定を見直す。 ★CGIを設置できるサーバかどうかの確認。 ★ディレクトリ構造の確認。 ★その他   以上です。 ★パーミッションを見直す。 「bot」というディレクトリ(パーミッション755)にファイルをアップロードしました。 アップロードしたファイルは、 arisamulti.cgi dic1.dat dic1b.dat dic2.dat dic3.dat dic3b.dat dic3b.dat dic4.dat jcode.pl です。 パーミッションは、arisamulti.cgiのみ705で、他は全て604にしています。これは、cgiの開発者の方が指定してくださっているパーミッションを設定したので、動くはずなのですが、動作しません。 サーバの関係でパーミッションを変えると動くことがあるのを知り、何パターンか試してみましたが、やはり動きませんでした。 ★CGIスクリプトの文法を見直す。 cgiの題名や背景などを少々編集したので;が抜けたり、背景にCSSを使ったことが駄目なのかと思い、文法チェッカかけてみましたが、異常なしでした。 ★アスキーモードにして、再転送。 FFFTPでアップロードしました。アップロードするとき、自動転送モードではなく、きちんとアスキーモードでアップロードしたので、バイナリにはなっていないはずです。 ★CGIスクリプト1行目のperlのパス指定を見直す。 サーバーのPerlへのパスは#!/usr/local/bin/perlです。atpagesの要求通りにしました。 全く動かないわけではないので、これが原因ではないと思います。 ★ディレクトリ構造の確認。 同じディレクトリにアップロードしてくださいと開発者の方が指定されていたので、その通りにしました。なので、ディレクトリ構造の間違いと言うことはないと思います。 ★CGIを設置できるサーバかどうか。 (http://atpages.jp/)というところの無料スペースにアップロードしました。URLは(http://www19.atpages.jp/zakurosakura/bot/arisamulti.cgi)です。 atpagesのwww19はCGI設置可能なので、ほかのcgiは問題なく動作しています。どのディレクトリにアップロードしても動くはずなのですが、このcgiだけ動きません。 atpagesのCGIガイドによるとPerlは「バージョンは、Perl 5です。」 と書いてありました。もしかしてバージョンが違うのでしょうか。 ★その他 ・必要なファイルはすべて転送されていた。 ・文字コードはShift_JISになっている。 ・エラーが出たページで更新して、ブラウザのキャッシュがないか確認。→なかった。 聞きたいこと 原因と、どうしたらcgiが動作するようになるかの対処法を教えていただきたいです。 かなりの初心者なので、具体的にどうすればいいか教えてくださると嬉しいです。 あと、なにか足りない情報があれば解る範囲で追記いたしますので、ご指摘ください。

    • ベストアンサー
    • CGI
  • FetchでのCGIアップロードについて

    CGIについては、何度か設置はしたことありますが、 プログラムについては全くわかりません。 いつもフリーのCGIスクリプトをDLして使用しております。 今回も、フリーのCGIスクリプトを利用していますが いくら試してもエラー500 Internal server error になってしまって困っています。 もちろん、perlのパスも間違えはなく、 ディレクトリ、ファイル共にパーミッションの設定済です。 アスキー/バイナリーも注意して転送しています。 転送にはMacで主流のFetch 3.0.3J2を使用しており、 [カスタム]-[初期設定]-[Misc]の中にある 「ISOコードを変換する」にチェックを入れて転送すると 不思議とエラー500は出ずにCGI実行可能になります。 ただし、ISOコード変換しているので当然文字化けします。 サーバーの問題かとも思い、いくつかのCGIを試しましたが S-JISのCGIで同じ症状が出るものもあれば 正常に動作するものもありました。 CGIはカスタムしていないので、転送時の問題か ファイル形式の問題のような気がします。 普通に転送すると実行できなくて、 ISOコード変換で転送すると実行できるCGIというのは 何が問題なのでしょうか? 元のファイルの日本語コードや改行コードの問題、 Macのリソースフォークの問題などあると思いますが 何をチェックすれば良いかわからず困っています。 情報をお持ちの方、助けてください。お願いします。

  • 「CGIプログラムエラー」って何ですか?

    Win.MEを使ってます。 今まで見れていたサイトがある日突然見れなくなり、以下の画面になるのですが、どうしたらまた見れるようになるでしょうか? すみませんが、素人にもわかるような説明でお願いします。 ***************************************************** 500-Internal Server Error CGIプログラムエラーのため表示することが出来ません。 多くの場合、以下のような理由が考えられます。 ・ パスの指定間違い perl のパスは /usr/bin/perl です。 ・ パーミッション(権限)が正しく設定されていません FTPソフトなどで、パーミッションを適切に設定してみてください。 ・ スクリプトの改行コードに問題があります ファイルの転送時はアスキーモードで転送して下さい。 ・ スクリプトの記述に誤りがある可能性があります 文法チェック等を行ってください。 上記が正しい場合、以下のような理由が考えられます。 ・ サーバーへの負荷が高いため実行できないCGI 負荷が高いスクリプトは、自動的に処理が中断されてエラーとなる場合があります。 ・ 混雑時等、サーバー全体の負荷が高くなっている状態 時間をおいてから再度アクセスしてください。

  • CGIプログラムエラー

    今まで見ていたサイトが急に見られなくなりました。 こちらで過去の質問等見ましたが 私はPCについて無知なのでどのプログラムを立ち上げて どのようにすればいいのかまったくわかりませんでした。 詳しい方、どうか助けてください。 よろしくお願いします。 以下はエラーの内容です。 ******************************** CGIプログラムエラーのため表示することが出来ません。(500 Internal Server Error) ・多くの場合、以下のような理由が考えられます。  ・パスの指定違い   perlのパスは/usr/local/bin/perlです。  ・スクリプトの改行コードに問題があります。   ファイルの転送時はアスキーモードで転送してください。  ・スクリプトの記述に誤りがある可能性があります。   文法チェック等を行ってください。 ・上記が正しい場合、以下のような理由が考えられます。  ・サーバー負担が高いため実行できないcgi   負担が高いスクリプトは、自動的に処理が中断されてエラーとなる場合があります。  ・サーバー仕様が異なるため対応できないcgi   セキュリティ上の問題等で一部利用が制限されている関数があります。  ・混雑時等、サーバー全体の負担が高くなっている状態   時間をおいてから再度アクセスしてください。

  • CGIが・・・いったい何が問題でしょうか?

    皆様よろしくお願いいたします。 以下の構成のディレクトリをvar/www/htmlに置き localhost/auct/index.cgiとしてindex.cgiファイルにアクセスしようといたしたのですが、500internal server errorとなり(エラーログ; premature end of script headers; index.cgi)、アクセスできません。 index.cgiにアクセスするとstart.shtmlが開く設定になっています。 なお、簡単なCGIファイルを作りvar/www/htmlで動作させたところ正常に動作いたしました。 自分でもかなり調べたり、聞いたりしたのですが解決に至りませんのでどうかご助力お願いいたします。 ....├ [auct] ...........├ [ pl ] ...................├ [ lib ] ...................├ ap.cgi ...................├ category.cgi ...................├ cgi-lib.pl ...................├ comu.cgi ...................├ config.cgi ...................├ image.pl ...................├ index.html ...................├ jcode.pl ...................├ mail.cgi ...................├ mng.cgi ...................├ show.cgi ...................├ usr.cgi ...................└ wwwis.pl ...........├ auction.cgi ...........├ count_down.cgi ...........├ cron.cgi ...........├ index.cgi ...........├ master.cgi ...........├ search.cgi ...........├ start.shtml ...........└ temp.cgi 全てWindowsからasciiで転送してperlのパスも確認済み。 パーミッションはすべて755。 Windowsのapacheでは正常に動作。 httpd.confの設定; <directory "/var/www/html">のoptionsにExecCGIを追加。#addhandler cgi-script .cgi のコメント化。そのほかはデフォルト。

    • 締切済み
    • CGI
  • CGIの設置ができない

    よろしくお願いします。 フリーのCGIを設置しようとしています。 CGIKONの「予約閲覧システム」がまさに使いたいものと一致しているので 設置してみようとしたのですが、できません。 SYNCKGRAPHICAさんのメールフォームなど、他のCGIは設置も動作も 問題ありませんが、どうしてもCGIKONさんのプログラムが読めません。 これまでの経過は、 ・ダウンロードして解凍      ↓ ・サーバーにアップ(Perlパスは書き換え不要です)      ↓      ・属性「755」に変更 URLに直接アクセスしても「接続エラー」が出てしまいます。 「リクエストされましたCGIでなんらかのエラーが発生しました INTERNAL_SERVER_ERROR」と表示されます。 たくさんの方が使ってらっしゃるようですので、プログラムには問題ないとして、 どのような原因が考えられるでしょうか。 うまく設置する方法を教えていただけないでしょうか。

    • ベストアンサー
    • CGI
  • 「CGIプログラムエラー」って何ですか?

    Win.MEを使ってます。 今まで見れていたサイトがある日突然見れなくなり、以下の画面になるのですが、どうしたらまた見れるようになるでしょうか? もう3ヶ月位この状態です。 すみませんが、素人にもわかるような説明でお願いします。 ***************************************************** 500-Internal Server Error CGIプログラムエラーのため表示することが出来ません。 多くの場合、以下のような理由が考えられます。 ・ パスの指定間違い perl のパスは /usr/bin/perl です。 ・ パーミッション(権限)が正しく設定されていません FTPソフトなどで、パーミッションを適切に設定してみてください。 ・ スクリプトの改行コードに問題があります ファイルの転送時はアスキーモードで転送して下さい。 ・ スクリプトの記述に誤りがある可能性があります 文法チェック等を行ってください。 上記が正しい場合、以下のような理由が考えられます。 ・ サーバーへの負荷が高いため実行できないCGI 負荷が高いスクリプトは、自動的に処理が中断されてエラーとなる場合があります。 ・ 混雑時等、サーバー全体の負荷が高くなっている状態 時間をおいてから再度アクセスしてください。