6

php.ini でupload_max_filesizepost_max_sizeを 32Mb に設定しました。

Symfony2 を使用しています。ユーザーがファイルをアップロードできるように、ファイル変数を含むエンティティを作成しました。

/**
 * @Assert\File(maxSize="3M")
 */
public $file;
  • ファイルが 3Mb より小さい場合、ファイルは正しくアップロードされます。
  • 3Mb バリデーターが正常に動作している場合、通常のエラー メッセージ「ファイルが大きすぎます」が表示されます。
  • ただし、ファイル > 32Mb (post_max_size) の場合:

致命的なエラー: 行 177 の /Applications/MAMP/htdocs/Symfony/vendor/symfony/src/Symfony/Component/HttpKernel/Profiler/Profiler.php で、150994944 バイトの許容メモリ サイズが使い果たされました (62353390 バイトを割り当てようとしました)

アップロードされたファイルがpost_max_sizeより大きい場合にバリデーターを機能させる方法はありますか? Symfony はpost_max_sizeより大きいファイルのアップロードをどのように処理していますか?

4

1 に答える 1

12

これはPHPに関する問題であり、Symfonyに関する問題ではありません。POSTパラメータのサイズを制限すると、送信リクエストはコントローラに「到達」しません。

post_max_sizeは、ファイルを含むすべてのPOSTパラメータを制限するため、upload_max_filesizeよりも高いpost_max_sizeを定義する必要があります

さて、あなたの質問はこれに関連しているようです:PHPの `post_max_size`を超えるファイルを適切に処理する方法は?

于 2012-06-12T13:47:07.703 に答える