【发布时间】:2016-07-07 21:51:25
【问题描述】:
在 nginx 发出错误 413 页面之前,我需要能够处理超过最大 nginx 和 php 限制的上传文件大小。相反,我想在我的应用程序 (symfony) 对话框中发出错误消息。
为了测试 symfony 中的文件大小限制,我的测试上传文件是 600 Mb。当我在nginx下上传600Mb文件时,上传运行到100%,然后 报告“413 请求实体太大”。
如果我运行“app/console server:run”(它使用 symfony 服务器而不是 nginx),symfony 会在上传之前(如预期)在 gui 中报告错误。
有什么方法可以修改 nginx 配置,使其读取 $_SERVER[CONTENT_LENGTH] 或 $_SERVER[HTTP_CONTENT_LENGTH],中止上传,然后将拒绝的请求传递给应用程序? Symfony 根据 CONTENT_LENGTH 标记错误(以及解决 symfony 问题的方法,HTTP_CONTENT_LENGTH)。
文件大小限制:
src/my_app/CoreBundle/Resources/config/validation.yml: maxSize: '500M'
/etc/php5/cgi/php.ini:post_max_size = 550M
/etc/php5/cgi/php.ini:upload_max_filesize = 500M
/etc/php5/cli/php.ini:post_max_size = 550M
/etc/php5/cli/php.ini:upload_max_filesize = 500M
/etc/php5/fpm/php.ini:post_max_size = 550M
/etc/php5/fpm/php.ini:upload_max_filesize = 500M
版本:
symfony 2.5.12
nginx 1.4.6-1ubuntu3.4
【问题讨论】:
标签: symfony nginx file-upload