-PR-
解決済み

CGIのデバッグについて

  • 困ってます
  • 質問No.34180
  • 閲覧数90
  • ありがとう数4
  • 気になる数0
  • 回答数4
  • コメント数0

お礼率 26% (60/226)

CGIを組み、自分のコンピューターでAPACHEを使ったテストでokなことを確認してからサーバーに上げてみたのですが、「500 Internal Server Error」が出てしまい動作しません。
サーバーへの転送時にアスキーモードで送る、文字コードはEUCである、属性は正しいか、Perlのパスは正しいか、必要なファイルは全てそろっているか、についてはチェックしてあるのですが動作しません。
もちろんPerlソフトを使っての構文チェックもしてあります。
これ以外になにか考えられることはあるでしょか。
あったら教えて下さい。よろしくお願いします。

ちなみに「CGIデバッグ」で検索した過去のQ&Aは全て参照しました。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル13

ベストアンサー率 26% (511/1924)

そのCGIが使うほかのファイル(データファイル、インクルードファイル)の属性とか、それらのつまっているディレクトリの属性、そもそもそのディレクトリでCGI動作可能なのかどうかなどが考えられますが・・・

最後はプロバイダにお願いして、エラーログの内容を教えてもらうしかなさそうですね。
お礼コメント
masamisss

お礼率 26% (60/226)

お言葉どおり、プロバイダ-に問い合わせてたら「Perlのバージョンが違うんじゃないか」というお答えを頂きました。ハイホーはPerl4に対応しているのだが、あなたはPerl5の文法を使っているみたいです、と。
で、Perl4の文法で書き直したところ、正常に動作しました。
ありがとうございました。
投稿日時 - 2001-01-31 23:02:00
関連するQ&A
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.1
レベル14

ベストアンサー率 25% (873/3452)

一応念のためですが、WindowsからFFFTPで、ローカルの ファイルがEUC以外の文字コードで、EUCに変換しながら アップロードすると、何故か化け化けになります。エデ ィターの段階でEUCのまま記述して、コード無変換でアッ プロードじゃないと壊れて動かない事があります。 > 属性は正しいか、 これは本当に使っているサーバーの仕様通りに設定して いますか?スクリプトの置いてあるデ ...続きを読む
一応念のためですが、WindowsからFFFTPで、ローカルの
ファイルがEUC以外の文字コードで、EUCに変換しながら
アップロードすると、何故か化け化けになります。エデ
ィターの段階でEUCのまま記述して、コード無変換でアッ
プロードじゃないと壊れて動かない事があります。

> 属性は正しいか、

これは本当に使っているサーバーの仕様通りに設定して
いますか?スクリプトの置いてあるディレクトリに対し
て、オーナー以外に書込み属性を付けるとセキュリティ
ー上の配慮でcgiを動作しない設定にしてある場合があ
ります。更に、705じゃないと受け付けないという設定
のサーバーもあります。そこの確認はされましたか?

marimo_cx


  • 回答No.3
レベル8

ベストアンサー率 54% (13/24)

「500」というエラーコードは、httpサーバがcgiを実行しようとしたら、正常に動作を完遂しなかったときに発生するエラーです。質問中では、 ・属性 ・Perlのパス ・Perlの文法 ・必要ファイルの有無 について確認済みとありますが、このうちのどれかが原因のはずです。 もう少し詳しいことが分からないとはっきりしたことは言えませんが、おそらくは、自宅の環境とサーバの環境が異なることに ...続きを読む
「500」というエラーコードは、httpサーバがcgiを実行しようとしたら、正常に動作を完遂しなかったときに発生するエラーです。質問中では、

・属性
・Perlのパス
・Perlの文法
・必要ファイルの有無

について確認済みとありますが、このうちのどれかが原因のはずです。
もう少し詳しいことが分からないとはっきりしたことは言えませんが、おそらくは、自宅の環境とサーバの環境が異なることによるエラーが発生しているのでしょう。されに具体的なチェック項目としては、

・Perlのversionは正しいか?
・Perlでモジュールを使用しているか?使用しているならば、サーバにはそのモジュールが準備してあるか?
・httpサーバの権限に合わせたパーミッション(属性)の設定になっているか?
・Perlスクリプトの中で、システムに依存した関数を利用していないか?(シェルコマンドを呼び出したり、OS固有の機能を使用したり)

などがあげられると思います。
そうそう、エラーコードについて調べるときは、
「RFC2068、HTTPエラーコード」
などをキーワードにして検索するといいですよ。
お礼コメント
masamisss

お礼率 26% (60/226)

さすが専門家、スルドイですね。
御指摘の通り、Perlのバージョン違いが原因でした。
また一つ勉強になりました。
投稿日時 - 2001-01-31 23:04:24
  • 回答No.4
レベル8

ベストアンサー率 38% (24/62)

サーバー側の問題の可能性があります。実際正しいCGIが上記のようなエラーを出すのを見ます。 このような場合、根本的な対策方法はなかったと思いますが、mod_perlが入っていない場合は入れれば解決する場合がよくあるらしいです。
サーバー側の問題の可能性があります。実際正しいCGIが上記のようなエラーを出すのを見ます。
このような場合、根本的な対策方法はなかったと思いますが、mod_perlが入っていない場合は入れれば解決する場合がよくあるらしいです。
このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ