1

16 MB のファイルをアップロードしようとしていますが、私のアプリケーションはこの 17 MB のファイルをアップロードしません。私の PHP.INI によると、20 MB までアップロードできます。

同様に、アップロードに失敗したというそれぞれのエラーも発生しません。

アップロード ボタンを押すと、ページが読み込まれますが、何も起こりません。

エラーなし、何もありません。

アプリケーションの上部に、追加します

error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

このエラーの種類をキャッチする方法。

4

1 に答える 1

1

すでに設定した PHP ini の最大ファイル サイズの他に、チェックすべき関連変数が他にもあります。

upload_max_filesize = 24M
post_max_size = 120M
max_execution_time = 6000

post_max_size は、ブラウザが送信する投稿の合計サイズです。つまり、フォームに添付されているすべてのファイルの合計です。ほとんどの ADSL 接続はアップロードが遅く、一部のユーザーは 15 MB のファイルをアップロードするのに 5 分かかる場合があるため、最大実行時間はファイル サイズも考慮する必要があります。

誇張しないでください: それはあなたを攻撃にさらしたり、帯域幅を浪費したりするでしょう (そこには大きなダメージはありません)。

エラーごとに、Apache エラー ログに記録する必要があります。ファイル サイズの合計が post_max_size を超えると、エラーは次のようになります。

[Fri Jul 05 17:38:09 2013] [warn] [client 157.16.35.224] mod_fcgid: HTTP request length 5005313 (so far) exceeds MaxRequestLen (5000000), referer: https://www.example.com/sef/path/rads/post/1?catid=1

最後に、ディスク上のスペースとユーザー クォータが使い果たされていないことを確認します。Apache の error_log から、アップロードが失敗した原因を特定できます。

于 2013-09-04T07:40:39.783 に答える