我已经在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的文件上传?
这是一个关于PHP的问题,而不是Symfony。当您限制 POST 参数大小时,您的提交请求甚至不会"到达"控制器。
由于post_max_size限制所有 POST 参数(包括文件),因此应定义高于 upload_max_filesize 的post_max_size。
所以现在,你的问题似乎与此有关:如何优雅地处理超过PHP的"post_max_size"的文件?