-PR-
解決
済み

HTTP500内部サーバーエラーと表示されてしまうのですが。

  • すぐに回答を!
  • 質問No.35815
  • 閲覧数597
  • ありがとう数6
  • 気になる数0
  • 回答数5
  • コメント数0

お礼率 63% (7/11)

自作プログラムを作ってみたのですが
HTTPDを利用してのローカル環境では実行に成功するのですが、
オンライン上で動かそうとするとどのサーバーでも
内部サーバーエラーと表示されてしまうのです。

プログラムは
http://person3.rocketbeach.com/~ikariya/bbs_cgi.txt
に見ることが出来るようにアップロードしました。
どこかおかしいところがあるでしょうか。

サーバーに負担がかかり過ぎるせいでしょうか?
通報する
  • 回答数5
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル12

ベストアンサー率 61% (349/567)

jiri_tさんが動かないとお書きでしたので、私も自分のサーバーで試してみました。動きませんでした。
で、よくみたらPerlのパスが間違ってます。

#!usr/local/bin/perl
ではなく、少なくとも
#!/usr/local/bin/perl
でしょう。

私のところでは動きました。
おそらくこれでしょう。
お礼コメント
ikariya

お礼率 63% (7/11)

勉強不足ですみません。
ありがとうございます。
Perlへのパス部分を直しましたら
動きました。

逆に、ローカル環境で(Win98、HTTP Daemon Ver 1.26b)で
動いていたのが不思議です。
融通が効いてくれていたのでしょうか。

兎にも角にも、悩みが氷解致しました。
ありがとうございます。
投稿日時 - 2001-02-04 11:19:49
関連するQ&A
-PR-
-PR-

その他の回答 (全4件)

  • 回答No.1
レベル12

ベストアンサー率 61% (349/567)

細かくは見ていませんが、ローカルで動いているということなので、コードは間違ってないという前提で。 だいたいこういうケースでよくあるのは、 1.CGIが実行できるディレクトリではない (サーバーで制約をかけている可能性があるので、プロバイダによって異なります) 2.cgiファイル自体の実行権限が無い 3.データファイル(この場合、log.datやcnt.dat)の読み書き権限が無い というあ ...続きを読む
細かくは見ていませんが、ローカルで動いているということなので、コードは間違ってないという前提で。

だいたいこういうケースでよくあるのは、
1.CGIが実行できるディレクトリではない
(サーバーで制約をかけている可能性があるので、プロバイダによって異なります)
2.cgiファイル自体の実行権限が無い
3.データファイル(この場合、log.datやcnt.dat)の読み書き権限が無い
というあたりですね。

そんなの分かってる!というのであればごめんなさい。
基本ということで。
お礼コメント
ikariya

お礼率 63% (7/11)

サーバーによってはパーミッションの設定が
大分違うということに気付きました。
早々回答を下さいましてありがとうございます。
投稿日時 - 2001-02-04 11:04:27


  • 回答No.2
レベル5

ベストアンサー率 25% (1/4)

どのような環境で確認されました? とりあえず私の環境では動かなかったので... サーバーのエラーログが見られれば一番いいのですが。 とりあえずtelnetが使えるプロバイダなら そこで実行してみるといいのですが。 実行権限、perlのパスはあっているか 再確認してください
どのような環境で確認されました?
とりあえず私の環境では動かなかったので...

サーバーのエラーログが見られれば一番いいのですが。
とりあえずtelnetが使えるプロバイダなら
そこで実行してみるといいのですが。
実行権限、perlのパスはあっているか
再確認してください
  • 回答No.3
レベル8

ベストアンサー率 48% (13/27)

どのような CGI かはわかりませんが、 サーバ側が SUEXEC で起動している場合は CGI の置かれているディレクトリの パーミッションなども注意する必要があります。 SUEXEC が設定されている場合は 他人が書き込み権をもっていると 「500 Internal Server Error!」 と表示されたと思います。 一度確認してみることをおすすめします。 ...続きを読む
どのような CGI かはわかりませんが、
サーバ側が SUEXEC で起動している場合は
CGI の置かれているディレクトリの
パーミッションなども注意する必要があります。
SUEXEC が設定されている場合は
他人が書き込み権をもっていると
「500 Internal Server Error!」
と表示されたと思います。
一度確認してみることをおすすめします。
お礼コメント
ikariya

お礼率 63% (7/11)

勉強不足でした。
ありがとうございます。
サーバー毎にパーミッションが大分違うというのは、
セキュリティの関係上と聞いたことがありましたが
理由がわかりました。
ありがとうございます。
投稿日時 - 2001-02-04 11:07:02
  • 回答No.5
レベル5

ベストアンサー率 25% (1/4)

tabaさんのいわれる通りだと思います ちなみに SunOSでは /usr/local/bin/perl TurboLinux6.1Serverでは /usr/bin/perl でした ...続きを読む
tabaさんのいわれる通りだと思います

ちなみに

SunOSでは /usr/local/bin/perl
TurboLinux6.1Serverでは /usr/bin/perl

でした
お礼コメント
ikariya

お礼率 63% (7/11)

度々、勉強不足で申し訳ありません。
サーバーによってパスが違う理由まで
御教え頂いて恐縮です。

勉強になります。
本当に、ありがとうございました。
投稿日時 - 2001-02-04 11:22:49
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


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

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

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ