アプリ版:「スタンプのみでお礼する」機能のリリースについて

IIS/perl/oracle

お世話になります。
社内の業務ホームページにて、データをダウンロードできるシステムの改造を行っています。
本番環境とテスト環境があり、ほぼ同じような環境にして
あります。
なのに、本番環境ではちゃんと”ファイルをダウンロード”という
ダイヤログが表示されるのに、同じモジュールをテスト環境にもってくるとダイヤログが出ずに
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers.
と出ます。perlの-wcオプションをつけてのデバッグでsyntaxはOKと出るし、本番環境で動くことから、スクリプト自体に問題はないと思っているのですが、環境面で何か設定しなくてはいけないことがあるのでしょうか?
念のためスクリプトを載せます。
binmode(STDOUT);
print "Content-Type: application/octet-stream; name=\"$fname\"\n";
print "Content-disposition: attachment; filename=\"$fname\"\n";
print "Content-length: $size\n";
print "\n";
(1)
print $CSV;
close(STDOUT);
どうも(1)あたりでこけてるようなのですが・・・。(少なくともbinmode手前まではprintを差し込んで動いているのを確認できています)
IISの設定等、あまり詳しくはないので、初心者向けに
教えていただくと助かります。
よろしくお願いいたします。

A 回答 (1件)

IIS+CGIの場合に起こる事があるようです。



print "Content-Type.... の前に

print "HTTP/1.0 200 OK\n";

を入れてみたらどうなりますか?



print "HTTP/1.0 200 OK\n";
print "Content-Type: application/octet-stream; name=\"$fname\"\n";

参考URL:http://support.microsoft.com/default.aspx?scid=k …
    • good
    • 0
この回答へのお礼

レスありがとうございます。Microsoftのサポートに出てたのですね。
アドバイスどおり入れてみたのですが、同じくCGIエラーです。
やっぱり環境なのでしょうか?
だとすると将来的に本番環境に持っていった時には
ちゃんと出てくれるんでしょうか?
それだと、別にテスト環境はあきらめてもいいんですが・・・。

でも気持ち悪いですね。
アドバイスありがとうございました。

お礼日時:2005/08/30 22:56

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