当文件大于post_max_size时,Symfony2验证器不工作

Mic*_*ick 5 php symfony

我已成立的upload_max_filesizepost_max_size要在php.ini到32MB.

我正在使用Symfony2.我创建了一个包含文件变量的实体,以便人们可以上传文件:

/**
 * @Assert\File(maxSize="3M")
 */
public $file;
Run Code Online (Sandbox Code Playgroud)
  • 当文件小于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的文件上传?

Alt*_*PHP 12

这是关于PHP的问题,而不是Symfony.当您限制POST参数大小时,您的提交请求甚至不会"到达"控制器.

由于post_max_size限制所有POST参数,包括文件,您应该定义post_max_size高于upload_max_filesize.

所以现在,你的问题似乎与这个问题有关:如何优雅地处理超过PHP的`post_max_size`的文件?