CGI設置に関する質問です

[上に] [前に] [次に]
まさ 2000/01/31(月) 21:48:34
この前の質問(../200001/00010535.htm)の続きなんですけど、

PERLで、
#!/usr/bin/perl

print "Content-type: text/html\n\n";
print "<html><head>\n";

print "</head>";
print "<body>";
print "Hello!!";
print "</body>";
print "</html>";

このようなプログラムを作ってブラウザーで確認すると、
500エラーと出ます。
この原因をサーバー管理者に聞いたところ、
プログラムが間違ってると言われました。
エラーログの詳細は、
Premature end of script headers: /home/aaa/public_html/test1.cgi
です。

UNIXのコマンドラインからなら、ちゃんと実行できます。

同じサーバーの別フォルダでは動くんですけど、
どういう事なんでしょうか?
パーミッションの設定、PERLのパス、FTPの転送等は合ってます。

アドバイス、よろしくお願いします。

2000/01/31(月) 23:41:41
特定のディレクトリでしかcgiを実行できないように設定されているのではないでしょうか?

気まぐれ 2000/01/31(月) 23:43:16
エラーメッセージがわかれば・・・

#!/usr/bin/perl
$|=1;
print "Content-type: text/html\n\n";
system("/usr/bin/perl /home/aaa/public_html/test1.cgi 2>&1");

を dbg.cgi として設置して、ブラウザから
http://www.hoge.co.jp/~aaa/dbg.cgi
とした時のメッセージを教えて下さい。

# 必要なところは直してね

気まぐれ 2000/02/01(火) 05:06:57
>特定のディレクトリでしか
だと、403エラーになるか、テキストとして表示されるかかと・・・
500エラーが出るという事は、サーバーはCGIと認識していて
実行時のエラーの様な気が・・・

サーバーはApacheですよねぇ(違うのかなぁ)
バージョンを教えて下さい。
多分 /usr/sbin/httpd に有るとおもうので、
telnet で /usr/sbin/httpd -v で
あと telnet で $ which perl の結果も

それから上で書き忘れたけど、実際のディレクトリで動けばいいけど
動かない場合は、動いているCGIのあるディレクトリに置いて動かしてね

[上に] [前に] [次に]