質問
- アップしたCGIが表示されません
-
本文:
現在試用期間中です。
サーバーに早速Webページをアップしてみましたが、Perlで記述したCGIの部分のフレームが”Internal Server Error”となって表示されません。
ただし、この現象はCGI直打ちの場合に限られ、SHTMLを介してならば発生しません。
FTPでの転送モードはバイナリモード、ASCIIモード両方を試してみましたが、どちらもNGでした。
パスも指定された通り(/usr/local/bin/perl)のパスで実行しています。
変数を排除しても起こるため、サーバーそのものに問題があるような気がするのですが、対処法をご存知の方がいらっしゃいましたらよろしくお願いします。
- 緊急度:急ぎ投稿者:タケヒロ92Xさん投稿時間:2010/08/02 14:08
回答 No.42
-
本文:
実際にエラーとなってしまう
CGIの内容(サンプルでも)を
貼り付けてもらえると何かアドバイスしやすいかもしれません。 - 投稿者:coinさん 投稿時間:2010/08/03 23:46
質問者からのコメント
さっそくの回答ありがとうございます。
形としては、当時のファイルはもう残っていませんが、大体以下のような状態でした。これであれば、?は正常に表示されますが、?だとダメな状態です。
? 別ファイルでの表示の場合
【index.shtml】
<HTML>
<HEAD>
<TITLE>TopPageSubwin</TITLE>
</HEAD>
<BODY BACKGROUND="img/sideback_01.jpg">
<!--#exec cmd="./TopPageSecbox.cgi"-->
</BODY>
</HTML>
【TopPageSecbox.cgi】
#!/usr/local/bin/perl
# サンプル
$count = 0;
for( $i=0 ; $i <= 7 ; $i++ ){
$pow = 100000000;
for( $j=0 ; $j <= $i ; $j++ ){
$pow = $pow / 10;
}
$count = $data / $pow % 10;
print '<IMG SRC="./degit/deg_';
print "$count";
print '.jpg">';
}
? CGIのみでの表示の場合
【index.cgi】
#!/usr/local/bin/perl
# サンプル
$count = 0;
print '<HTML><HEAD><TITLE>TopPageSubwin</TITLE></HEAD><BODY BACKGROUND="img/sideback_01.jpg">';
for( $i=0 ; $i <= 7 ; $i++ ){
$pow = 100000000;
for( $j=0 ; $j <= $i ; $j++ ){
$pow = $pow / 10;
}
$count = $data / $pow % 10;
print '<IMG SRC="./degit/deg_';
print "$count";
print '.jpg">';
}
print '</BODY></HTML>';
回答 No.44
-
本文:
perl に詳しくないため、
あまり的確なアドバイスできないです、すいません。
ネット上に配布されてるCGIファイルなんかはどうでしょうか?
それが動作するのであればコーディングなどの問題かもしれません。 - 投稿者:coinさん 投稿時間:2010/08/07 18:47
質問者からのコメント
coinさん、ひゃっほうさんありがとうございます。
ネット上や入門書に付属しているCGIファイルであれば正しく表示されました。
また、そのサンプルに使ったソースは全部出力ヘッダーに”print "Content-type: text/html \n\n";”の行が入っていることに気づいたので、間違いないでしょう。
既にSHTMLとの組み合わせでコーディングを始めてしまってますが、大変参考になりました。ありがとうございました。
回答 No.46
この回答がベストアンサーです
print "Content-type: text/html \n\n";
CGIを実行するときってこういったヘッダ行の出力が必要なんじゃなかったでしたっけ?
質問者からのコメント
coinさん、ひゃっほうさんありがとうございます。
ネット上や入門書に付属しているCGIファイルであれば正しく表示されました。
また、そのサンプルに使ったソースは全部出力ヘッダーに”print "Content-type: text/html \n\n";”の行が入っていることに気づいたので、間違いないでしょう。
既にSHTMLとの組み合わせでコーディングを始めてしまってますが、大変参考になりました。ありがとうございました。