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


Symfony2 validator not working when file is bigger than post_max_size

我已经在php.ini中设置了upload_max_filesizepost_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的文件上传?

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

由于post_max_size限制所有 POST 参数(包括文件),因此应定义高于 upload_max_filesize 的post_max_size

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