あいちゃんへ、
わかってよかったです。
そう言われれば、WindowsMeからWindows2000にアップグレードした時の症状でしたね。
Windows98からWindowsXPでは大丈夫でしょう。 WindowsXPの方が新しいわけですから。
中田様へ
いろいろお騒がせしました
WindowsMe から Windows2000 Professional へのアップグレード(アップグレードでは
無かったですね)が原因だったようです本当は、クリーンインストールが良いのですよね
でも、以下の方法で問題なく動くようになりました助かりましたm(__)m
Windows2000 で ComSpec 環境変数の表示し、修正するには
1. [コントロール パネル] を開きます。
2. システム アイコンをダブルクリックし、 詳細設定タブをクリックして、 環境変数を次
にクリックします。
3. システム環境変数ボックスにある ComSpec 変数を選択します。
4. 変数を変更するために、 編集をクリックします。
5. c:\WINDOWS\system32\Command.comのCommand.comをCmd.exeへ変更する
ちなみに、Windows98e から WindowsXPにグレードアップした場合も同じ事が言えるのですか?
中田様へ
お返事ありがとうございます。
はい!確かに「一週間でマスターするCGI for Windows」では、実行プログラム
は「perl」だけになっていますが、この掲示板の履歴を見ていると
<実行プログラムの拡張子.pl,.cgi
実行プログラムc:\Perl\bin\perl.exeにして、チェックは一般パスでも実行するに
チェックマークその他のチェックをしない、また、CGI出力を検査にチェックマークを付けてる。>
となっていましたので、試みたのですが結果は一緒で
「HTTP 500 - 内部サーバ エラー」が出ます
私の使っているパソコンのOSは、Windows2000です
あいちゃんへ、
まず、実行プログラムを 「perl」ではなく「C:\Perl\bin\perl.exe」にしてみてください。
初めまして、私はCGIを勉強しようと「一週間でマスターするCGI for Windows」福島晴浩著で勉強を始めました。
でも、どうしても「HTTP 500 - 内部サーバ エラー」が出ます
設定は、perlは、「ActivePerl-5.8.0.806」をCドライブのPerlフォルダにインストールし、「AN_HTTPD」をCドライブのAN_HTTPDフォルダにインストールしています。
AN_HTTPDは、1.42nです。
オプション/一般の設定は、ドキメントルートをC:\1weekCGIに変更
実行プログラムの拡張子.pl,.cgiの実行プログラムc:\Perl\bin\perl.exeにして、チェックは一般パスでも実行するにチェックマークその他のチェックを付けていません
また、CGI出力を検査にチェックマークを付けています。
CGIのプログラムは、C:\1weekCGI\tue\cgi1.cgiとC:\1weekCGI\wed\uranai.cgiに
以下のプログラムを入れています(これも著者指示の通りです)
cgi1.cgiのプログラムは↓
#!c:\perl\bin\perl
print "Content-type:text/html\n\n";
print "<HTML>\n";
print "<HEAD>\n";
print "<TITLE>CGI No.1</TITLE>\n";
print "</HEAD>\n";
print "<BODY>\n";
print "CGIプログラム No.1, テスト成功!\n";
print "</BODY>\n";
print "</HTML>\n";
uranai.cgiのプログラムは↓
#!C:\perl\bin\perl
# 1から5の乱数を発生
$ransuu= int( rand(5) );
#出た数字で運勢を決定
if ($ransuu == 4){
$unsei= "daikichi.gif";
} elsif ($ransuu == 3){
$unsei= "tyukichi.gif";
} elsif ($ransuu == 2){
$unsei= "kichi.gif";
} elsif ($ransuu == 1){
$unsei= "kyou.gif";
} else{
$unsei= "daikyou.gif";
}
# Content-typeヘッダ出力
print "Content-type:text/html\n\n";
#HTML出力
print << "END_OF_HTML";
<HTML>
<HEAD>
<TITEL>今日の運勢</TITEL>
</HEAD>
<BODY>
<CENTER><FONT size=6><B>
あなたの今日の運勢は
<IMG src="$unsei">
です
</B></FONT></CENTER>
</BODY>
</HTML>
END_OF_HTML
なのです。Perlの実行ルートは正しく行われています。
上記のプログラム二つともHTTP 500 - 内部サーバ エラーが出るのですが
cgi1.cgiのプログラムは、実行プログラムの拡張子.pl,.cgiの実行プログラムC:\Perl\\bin\PerlIS.dllにして、チェックは一般パスでも実行するにチェックマークその他のチェックを付けない状態ならばCGIが実行されます
CGIのプログラム初心者で勉強の為と思って本の通り行っているのですが、
(本の場合は、実行プログラムperlのままで、CGI出力を検査にチェックマークは付けないような指示になっています)
上手く行かず、プログラム実行に戸惑っています。
些細事なのかもしれませんがお教えいただきたくお願いいたします。