我正在尝试在Symfony2项目中上传大文件(5-8Mb)。出于某种原因,任何时候我上传任何大于2Mb的东西,剧本都会爆炸。我可以上传任何小于2Mb的东西。我已经改变了我的php.ini文件,php -i反映了这些变化。我重新启动了apache。我还需要做些什么来使这些更大的文件上传工作。感谢。
答案 0 :(得分:0)
之前进入这个问题;尝试一种上传的分块方法。脚本最有可能超过最大执行时间。因此(不知道你的逻辑是什么样的)有一个函数将请求(比方说1MB)发送到另一个文件,该文件在while循环中读取二进制数据的输入流,并且只要二进制文件的内容长度继续执行数据不等于零。 while循环将数据写入临时文件,当它达到零时将其保存到永久目录(或者你想从那里做的任何事情)你可以在php.ini中增加允许的最大内存和执行时间但这会引入安全问题并且不推荐。
答案 1 :(得分:0)
在您当前的PHP配置中,您可能将最大上传大小限制为2M,因此Symfony显示错误的错误。
请检查您的php.ini文件(Linux上的/etc/php5/apache2/php.ini)并增加max_upload_size以适合您的字段:
upload_max_filesize = 20M
别忘了重新启动apache:apache2ctl restart
现在应该可以了!