CGIで動かしていた掲示板が突然利用できなくなって困ってます
CGIの中にスタイルシートを利用していました
そのスタイルシーをクリスマスっぽく変えようといじったのですが
動かなくなり、もとの通りに戻したのですが
動かなくなりましたパーミッションの設定も戻しています
サーバー内のファイルが壊れた可能性を疑ってきれいなものをアップしたのですがそれも動きません
CGIの利用できる無料サーバーなので、サーバーを疑って
別の(CGIカウンターやログ解析)CGIプログラムを動かしてみたら問題なく動きます

サーバーが吐き出すエラーメッセージは以下の通りです

-----------------------------------

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

-----------------------------------

自分でCGIを組んだことは無く
フリーのCGIプログラムを利用しています
このエラーメッセージは何を意味するのでしょうか?
また、動かない原因は何でしょうか?
よろしくお願いいたします。
CGIですので、PC環境には関係ないと思いますが
一応自分のPC環境を

CPU:P3-650Mhz
MEM:128MB-PC100 CL2
M/B:ASUS P3BF
HDD:ATA66-20GB+9GB
OS:Win98SE+IE5.5

A 回答 (9件)

もしかして


print "<BODY>";
ってトコに
print "<BODY BACKGROUND="hoge.jpg">";
ってやってませんか?
print文中で”を使う場合は直前に\を入れる必要があります。
ただ。print qq();でprintしている場合はこの限りではありません。

この回答への補足

おっしゃられるとおりにしてました・・・

$body = '<body BACKGROUND="./x-kay-r.gif" STYLE="font: 10pt ''"bgcolor="#004000" text="#FFFFFF" link="#FF0000" vlink="#FFFFFF" alink="#FFFFFF" leftmargin="5%" topmargin="5%">

';

こういう風に記述してました
ダブルクォーテーションじゃないとだめなのでしょうか?

補足日時:2000/12/09 11:44
    • good
    • 0

いっつもkondara MNU/Linux1.0のPerl5でしか確認していないので、Windows版Perlだと出ないかも知れませんが、日本語文字列でエラーになることがあります。



S-JISでの日本語文字列を受け付けないサーバーの場合にあるのですが、この場合は文字コードをEUCに変更して下さい。

ちなみに私はいつもPerl -c hoge.cgiでしか確認していません。

あと、この際ですからPerlも勉強してはいかがでしょうか?今後もCGIをいじろうと思ったらやった方が良いですよ。

そういやInternal Server Errorとは何かを書いていないですね。これは、CGIが動かないとゆーだけのものです。

この回答への補足

仰られるとおりですね ^^;
CGIを設置するのならPerlの知識がないとダメですね
今回のことで自分が無責任だと思いました・・・
CGIを設置するならメンテナンスまで出来ないとマナー違反ですね

これを機会に勉強しようと思いました

補足日時:2000/12/06 11:06
    • good
    • 0
この回答へのお礼

回答有難うございます
原因はどうやら「掲示板(ツリー型)」に背景画像を入れようとしていたことが原因のようでした

お礼日時:-0001/11/30 00:00

そのCGIは、動かないことが確認された時から一切動かなくなったのでしょうか?


確認された時以外の時間帯で、動作確認を行いましたか?
サーバが混んでいた可能性もあります。その時に、良くこのエラーを出します。

また、サーバの仕様変更で専用のアドレスでの呼び出しにしないと、CGIが使えなくなる時があります。
サービスを提供しているところの、お知らせ等を確認してみましたか?

この回答への補足

動かなくなってから一切動きません
あらゆる時間で試したのですがダメでした 

補足日時:2000/12/05 23:43
    • good
    • 0

Windows版のPerlは、下のURLからWin32 Binaryをダウンロードすれば使えます。

あと、近くのCPAN(ftp://ring.omp.ad.jp 等)から入手できます。
 Windowsでのデバックにはまずこれが第一でしょう。 ただ、Perlの知識が必要となるのでちょっと難しいかも。
まぁ、まずPerlを入手して、-wc オプションをつけて試してみてください。その後のエラーを見て考えましょう。
 

参考URL:http://www.perl.com/pub/language/info/software.h …
    • good
    • 0

あらら?


転送モードのエラーじゃなかったのかな?

解決手段そのものではなくアドバイスですが、
意味のわからないエラーメッセージではなく、
意味のわかるエラーメッセージを出す方法があります。

それは、自分のパソコンにWWWサーバを作ることです。
そして自分のパソコンでcgiを動かしてみることです。
僕は参考URLの「自宅マシンWWWサーバ化計画」
というところを読んで、やってみたのですが、
この場合意味のわかるエラーが表示されるので
大変デバッグがしやすかったです。

一度お試しになると良いですよ。

参考URL:http://www.kent-web.com/

この回答への補足

有力な情報をアリガトウございます
ローカルでApacheを動かせるのは知りませんでした
大変勉強になりそうです。
出先からなので自宅に帰ってじっくりイジってみたいと思います
アリガトウございました

*自宅マシンでApacheを利用してCGIを動かす場合に
注意点などありました、ご指導をお願いしたいのですが
(例えば無限ループになったときの対処の方法など)
宜しくお願いいたします

補足日時:2000/12/04 11:31
    • good
    • 0
この回答へのお礼

有難うございました
これを機会にもう少し深く勉強しようと思っています

お礼日時:-0001/11/30 00:00

可能性から言えば改行コードのミスですね。



CGIの書き換えに利用しているのは、メモ帳ですよね?
Windowsの改行コードはCR+LFとなり
サーバーに使われているOSは大抵UNIX系でUNIX系の改行コードはLFのみです。

要はCRが入っていると、それも文字と認識して、文法がおかしくなるわけです。

解決方法は、callhiroさんの言うとおり、バイナリモードではなく、アスキーモードで転送することです。アスキーモードで転送すると、CR+LFがLFに変換されます。FTPソフトによっては、テキストモードと書いてあるかも知れません。

アスキーモードで転送する方法はFTPソフトに依存するのでそのソフトのマニュアルを確認して下さい。ホームページビルダーやDreamweaverなどのFTPは使わずにFTPのみのソフトを利用する方が安全かと思います。

私はFFFTPを利用しています。

この回答への補足

CGIの記述はHTMLエディター(CGI対応)を使っているので
改行コードは大丈夫だと思います。(一応確認してみます)
転送モードはASCIIです。

補足日時:2000/12/04 10:33
    • good
    • 0

下のURLからdebug.cgiを入手して、同じフォルダにアップロードして実行して見てください。


(詳しくはリンク先の説明参照)

詳しいエラーメッセージが表示されるはずです。

参考URL:http://hp.vector.co.jp/authors/VA020958/cgiwork/ …

この回答への補足

アリガトウございます
今、チョット出先からなので自宅に帰ったら
試させて頂きます

補足日時:2000/12/04 10:28
    • good
    • 0

僕は良く自分のホームページのcgiを改造したりするのですが、


過去に、突然cgiが動かなくなり、
改造した部分をすべてなくしても、
元々あった機能を少しずつ減らしても
全然動かなくなったという経験があります。

その際の解決手段はズバリ転送モードでした。
間違えてバイナリーモードで転送している可能性があります。
アスキーモードになっているかどうか確かめてみてくださいな。

今試してみましたが、同じ様なエラーが出ましたよ。

この回答への補足

回答アリガトウございます
ASCIIモードで転送しているのですが、やはりダメでした

補足日時:2000/12/04 10:16
    • good
    • 0

 CGIファイルの中身が間違っていますね。

きっと。
 エラーの内容は、「そのプログラム(掲示板)を実行
したらエラーがでたよ」という無いようですが、何が
原因かまでは教えてくれません。Telnetが許されてい
るのならば
perl -wc プログラム名
を直接実行してみてください。大抵のエラーはここで出
ます。
 もし、そうでないなら。。。
 Windows版のPerlで試してみてください。

この回答への補足

アリガトウございます
残念ながら、CGI利用可能なフリーレンタルサーバーなので
Telnet接続は出来ないようです
Windows版のPerlですが、Windows上で擬似的にCGIを
走らせることが出来るソフトでしょうか?
マイクロソフトからリリースされているのでしょうか?

補足日時:2000/12/04 10:18
    • good
    • 0
この回答へのお礼

いろいろ有難うございました
ツリー表示型の掲示板だったのですが、背景画像の挿入がうまくいってなかったようです・・・
300行くらいあるロジックを1行づつチェックしてみました
初歩的なミスでした・・・・

お礼日時:-0001/11/30 00:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

今、見られている記事はコレ!

おしトピ編集部からのゆる~い質問を出題中

お題をもっとみる


このカテゴリの人気Q&Aランキング

おすすめ情報

カテゴリ