メンバーメニュー

ようこそ、ゲストさん

トップ > カテゴリ一覧 > 各種プラン > Perlでの画像やファイルのアップロードの上限の変更

質問

  • ライト

    Perlでの画像やファイルのアップロードの上限の変更
  • 本文:

    Perlで画像をアップロードしているのですが、どうも50KBを超えるものはアップロードできないようです。

    50KBを超えない画像はちゃんとアップロードされていますが、超えるとエラーログに、End of script output before headersが表示されていました。

    PHPではアップロードの上限を変更できますが、Perlではどうすれば良いのでしょうか?

  • 緊急度:通常投稿者:機材屋ジョーンズさん投稿時間:2019/04/23 16:41
質問に対する回答は締め切られました

回答 No.8937

  • この回答がベストアンサーです

  • 本文:

    エラーログはWebサーバからのもので
    HTTPヘッダの前に、CGIプログラム言語のエラーメッセージが出力されているために出てくるものです。
    CGI自身のエラーメッセージではありません。
    CGI内、シェバング行の直後に、
    print "Content-type: text/plain\n\n";
    など入れたり
    要所要所に独自ログ(ステップメッセージ)を取るようなトラップを入れて
    本来のエラーメッセージを把握することをお勧めします。
    環境によって、動作していたプログラムが動作しなくなることはままありますが、どこに原因があるのかを状況と創造力だけで究明するのは場数を踏んだ者でもなかなか骨が折れます。
    回り道になるかもしれませんがトライしてみてはいかがでしょうか。

  • 投稿者:Ralf124Cさん 投稿時間:2019/04/24 11:26
質問者からのコメント

ありがとうございます!
参考にさせていただきます!!
1つ1つトライしてみますね。

回答 No.8920

  • 本文:

    考えられることとしては、例えば以下のことです。

    ・ Apache の設定の、ファイルサイズ上限
    .htaccess で、 LimitRequestBody の設定
    http://httpd.apache.org/docs/current/mod/core.html#limitrequestbody

    ・CGI モジュールを使用している場合は $CGI::POST_MAX の値
    https://metacpan.org/pod/release/LDS/CGI.pm-3.39/CGI.pm#Avoiding-Denial-of-Service-Attacks
    https://hole.sugutsukaeru.jp/archives/10

  • 投稿者:ayaguchiさん 投稿時間:2019/04/23 19:33
質問者からのコメント

ありがとうございます!
やってみましたが、解決には至りませんでした。しかし、とてもありがたいです!

回答 No.8921

  • 本文:

    いくら何でも、50KBというのは、デフォールトの制限としては、小さすぎるから、問題はperlの制限ではなくて、単なるプログラムのバグではないですかね?

    アップロードのプログラムがあまり大きなものでないなら、『全文丸ごと引用』してみてはいかが?

    # ちなみに、CGI::POST_MAXのデフォルト値は、大抵の場合、-1(つまり、制限無し)です。

  • 投稿者:ジョバンニさん 投稿時間:2019/04/23 21:50
質問者からのコメント

ありがとうございます!

> いくら何でも、50KBというのは、デフォールトの制限としては、小さすぎるから、問題はperlの制限ではなくて、単なるプログラムのバグではないですかね?

ですよね。
他のサーバでは問題なく動いていたのですが、もう一度確認してみます。
プログラムが結構大きいので、簡単なものを作ってみてトライしてみますね。

回答 No.8922

  • 本文:

    似たような状況なのかどうかはちょっとわかりませんけど

    https://wpxaf.com/500error/

  • 投稿者:kashaさん 投稿時間:2019/04/24 00:53
質問者からのコメント

ありがとうございます!
とても似ていると思います!試させていただきます!!
もし解決したら報告させていただきます!

回答 No.8939

  • 本文:

    回答していただいたみなさまありがとうございました!
    無事解決いたしました!

    50KBを境にアップロードができなかったため、ファイルの大きさが問題かと思っていましたが、アップロード後、画像のリサイズをする際にエラーが発生していました。原因は不明なのですが、ImageMagickでのリサイズはできなくて、gdでリサイズして解決となりました。

    みなさまのご回答大変助かりました!有難うございました!

  • 投稿者:機材屋ジョーンズさん 投稿時間:2019/04/24 15:56