電子書籍の厳選無料作品が豊富!

大容量(30MB位)の添付ファイルを自分のHPからフォームから送れるようにしたいんですが、現在つかっているCGIではinternal server errorになってしまいます(2MB位までは大丈夫)。宅ファイル便みたいに大容量のファイルを送れるようにするには、php等を使用しないとだめなのでしょうか?
使用しているサーバーは「使えるNET」の共有サーバーでCGIの使用制限(時間、使用量)はありません。、CGIはfutomi's CGI CafeさんのMP Form Mail CGI Professional版です。
HP初心者なので本当に困っています。どなたか教えて頂ければ幸いです。

A 回答 (5件)

すみませんが、あそこのサーバーは、使えるフォーラムがあるのですが…そこで質問はされましたか?



参考URL:http://forum.tsukaeru.net
    • good
    • 0

Premature…のエラーはいろんな場合に出てきますが、今回の場合は小さなファイルでは成功すると言う事から、アップロードのどこかの段階でエラーが発生し終了していることが考えられます。

ひとまず、プログラムの冒頭付近(#!より下)に

use CGI::Carp qw/ fatalsToBrowser /;

を記述してdieをトラップしてみると、何か新たな情報が手に入るかも知れません。
    • good
    • 0

ソースコードを読んでいないのではっきりした事は言えませんが(シェアウェアだそうなので控えさせていただきますが)アップロードルーチンに根本的な制限がある場合もあります。

例えば、CGIモジュールを利用したアップロードの場合、$CGI::POST_MAXで容量が制限されています。(もちろん、この値をいじれば変更出来ます。)独自ルーチンであれば、こうした制限は発生しませんが、通常何らかの制限を付ける事が多いでしょう。

こうした事はどんな言語でも同じです。#2さんが言われている通り、どこかで制限を付けないと大変危険なので。

大きなファイルを扱う場合は、いろんな問題を複合的に考えなければなりません。最大容量設定もそうですが、ウェブ・メールサーバが大容量データ受信をはじかないか、ブラウザがタイムアウトしないか、転送先のメールスプールは十分か、等。特に共用サーバでは多くの方が利用しているので、そのことも念頭において迷惑にならないよう気をつけてください。

この回答への補足

エラーログを調べた所「 Premature end of script headers: mpmail.cgi, referer: http:~.html」となっており、サーバー管理会社に連絡したところ「CGI(mpmail.cgi)がサーバーにヘッダー情報を送信せずに起動が終了しているという意味です。原因はお手数ですがお客様側での調査をお願い致します。」との事でした。お恥ずかしい話、初心者なのでいまいち理解できません。やはりサーバーの方でCGIの動作を止めてしまっているという意味なのでしょうか?

補足日時:2005/01/18 14:27
    • good
    • 0
この回答へのお礼

回答ありがとうございます。ウェブ・メールサーバーの確認してみます。

お礼日時:2005/01/18 13:33

> CGIの使用制限(時間、使用量)はありません。


と、ありますが実際には常識の範囲を超える動作をする場合、制限が掛かる場合があります。
(そうしないとプログラムミスによる無限ループなどでもサーバ停止になってしまいますから)
30MBのファイルの受信は結構きついと思いますので、
他の方の回答で解決できなければサーバ管理者に確認してみたほうがいいかと思います。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。やはり専用サーバー等でなくてはきびしいのですね?とりあえずサーバー管理者に連絡してみます。

お礼日時:2005/01/16 14:56

mpconfing.cgiのファイルにある「下記数値」は訂正しましたか?



#■添付ファイルのサイズ上限(バイト)
添付ファイルのサイズの上限を設定します。単位はバイトです。添付ファイルがある場合には、暫定的にサーバ上にファイルを作成します。そのことを考慮に入れて適切なサイズに設定して下さい。目安として、「1048576」(1MB)あたりをお勧めします。
--------------------------------------------------
my $ATTACHMENT_MAX_SIZE = 1048576;

この回答への補足

回答ありがとうございます。添付ファイルの上限は25MBに設定してあります。やはり1~2MB位までが限度という事なのでしょうか?

補足日時:2005/01/16 14:59
    • good
    • 0

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