※ ChatGPTを利用し、要約された質問です(原文:CSVダウンロードについて)
CSVダウンロードについてのエラー CGI Error
このQ&Aのポイント
社内の業務ホームページでデータをダウンロードするシステムを改造中。
本番環境では正常にファイルをダウンロードできるが、テスト環境ではCGI Errorが発生。
perlのデバッグでsyntaxはOKと出ており、スクリプト自体に問題はないと考えられるが、環境面での設定が必要かもしれない。
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の設定等、あまり詳しくはないので、初心者向けに
教えていただくと助かります。
よろしくお願いいたします。
お礼
レスありがとうございます。Microsoftのサポートに出てたのですね。 アドバイスどおり入れてみたのですが、同じくCGIエラーです。 やっぱり環境なのでしょうか? だとすると将来的に本番環境に持っていった時には ちゃんと出てくれるんでしょうか? それだと、別にテスト環境はあきらめてもいいんですが・・・。 でも気持ち悪いですね。 アドバイスありがとうございました。