(perl)telnetで動くのにブラウザで動かない?
[上に]
[前に]
[次に]
茶しぶ男
2000/03/01(水) 18:35:03
perl内でhtmlを出力するスクリプト「hoge.cgi」があるのですが、
telnet上で
hoge.cgiと入力すると、ちゃんとhtmlソースを出力するのに
ブラウザでURLを入力して実行するとサーバーエラーになってしまいます。
telnet上での
perl -c hoge.cgi
も、
hoge.cgi syntax OK
と出て、問題ないようにみえます。
いったいどのような原因が考えられるでしょうか?
わけあってスクリプトのソースを公開できなくてスミマセン。
SABA
2000/03/01(水) 18:44:04
Content-type を出してない
STDOUT にprintしてない
とか…
ラウォッチ
2000/03/01(水) 19:19:56
オラクル系だと親プロセスに環境変数がセットされていないとNGのケースがあります。
(昨日それで、半日つぶした...。)
seltza
2000/03/01(水) 20:54:10
私もヒントを。
コマンドラインから実行するとき、
#> perl hoge.cgi
とせずに、
#> ./hoge.cgi
として動作するかどうかを確認すると、
・実行権が(とりあえず自分に)ついているか
・perlのパスがあっているか
を確かめられます。
上記でもokならば、
SABAさんがおっしゃるように、
print "Content-type: text/html\n\n";
となっていないか、
あと今の場合は関係ないと思いますけど、
STDOUTなどをファイル等に対して開こうとするとCGIとしては動作しなかったような記憶があります。(apache)
#→ selectを使用しないといけない。
ご参考まで〜。
茶しぶ男
2000/03/02(木) 09:10:11
[[解決]]
print "Content-type: …
を忘れていたのが原因でした…。
でも、会社のサーバー(CERN)で実験した時には、それでもHTML出力されていた…、なんでだろ?
なにはともあれ、ありがとうございました!
[上に]
[前に]
[次に]