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

时间:2012-06-12 13:32:20

标签: php symfony

我已在php.ini中将 upload_max_filesize post_max_size 设置为32Mb。

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

/**
 * @Assert\File(maxSize="3M")
 */
public $file;
  • 当文件小于3Mb时,文件已正确上传。
  • 当3Mb验证器工作正常时,显示正常错误消息“文件太大”
  • 但是,当文件> 32Mb(post_max_size):
  

致命错误:允许的内存大小为150994944字节(已尝试   分配62353390字节)   /Applications/MAMP/htdocs/Symfony/vendor/symfony/src/Symfony/Component/HttpKernel/Profiler/Profiler.php   在第177行

当上传的文件高于 post_max_size 时,有没有办法让验证工作? Symfony如何处理大于 post_max_size 的文件上传?

1 个答案:

答案 0 :(得分:12)

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

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

现在,您的问题似乎与此问题有关:How to gracefully handle files that exceed PHP's `post_max_size`?