我的环境:
- 使用Symfony 2运行的后端应用程序
- Nginx 1.8.0
- Centos 6.5
- php-fpm
这是我的nginx conf:
server {
listen 443;
server_name demo.example.com;
root /usr/share/nginx/html/crowdfunding/web;
ssl on;
ssl_certificate /etc/nginx/ssl/xxxxx.crt;
ssl_certificate_key /etc/nginx/ssl/xxxxx.key;
recursive_error_pages off;
error_page 413 = $uri/413;
error_log /var/log/nginx/example_error.log;
access_log /var/log/nginx/example_access.log;
location / {
try_files $uri /app.php$is_args$args;
}
# PROD
location ~ ^/app\.php(/|$) {
internal;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS on;
fastcgi_intercept_errors on;
}
}
我有一个上传文件输入的页面:http://demo.example.com/fr/member/edit 我想要的最大尺寸为500ko 当我尝试上传2Mo文件时,我的错误文件中出现此错误"客户端意图发送过大的身体" 然后你可以在网页浏览器的角落看到上传正在运行,当它实现100%重定向到demo.example.com/fr/member/edit 并重新启动上传...直到nginx提示错误(可能是关于时间过程)
我想要的是什么:
当nginx检测到这个时:"客户端意图发送太大的身体"然后停止上传文件并重定向到http://demo.example.com/fr/member/edit/413(这是一条应该进入#prod的路线)
我只是想用一个nginx
感谢您的帮助,并问我是否需要更多信息。
更新1: 这里是我的symfony 2表单
$builder->add('image', 'file', array('label' => 'general.image', 'required' => false, 'constraints' => array(
new File(array(
'maxSize' => '500k',
'mimeTypes' => array(
'image/png',
'image/jpeg',
'image/pjpeg',
'image/gif',
'image/bmp',
)
))
)));
更新2: 在我的php.ini中我设置了这个:
upload_max_filesize = 500k
post_max_size = 500k
答案 0 :(得分:0)
尝试将以下行添加到http或您的案例服务器部分
client_max_body_size 2M;
不要忘记调整你的限制。保存文件,realod nginx,它应该正常工作。