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 参数,包括文件,您应该将 post_max_size 定义为高于 upload_max_filesize

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

于 2012-06-12T13:47:07.703 回答