由于php每天要接收其它服务器post过来的文件

比如我在:192.168.1.147上用下面这条命令

wget http://192.168.1.148/upload.php --post-file=msg.log

这个msg.log 有50M,进行post msg.log这个文件到148服务器的php上存储,进行入库

首先说明:

不要问我怎么不直接复制文件,要用php接收?

我现在讨论的是这个问题,谢谢。

原因:

首次调用出现了:

HTTP request sent, awaiting response... 413 Request Entity Too Large

我按照网上的教程改nginx配置

改为:

client_max_body_size 100m;

满以为解决问题,再次执行报错。

HTTP request sent, awaiting response... 502 Bad Gateway

网上有的说php.ini要配置,但是我的php.ini 配置是64M

max_execution_time 300 300

max_file_uploads 20 20

max_input_nesting_level 64 64

max_input_time 60 60

max_input_vars 1000 1000

memory_limit 128M 128M

open_basedir no value no value

output_buffering 4096 4096

output_handler no value no value

post_max_size 64M 64M

upload_max_filesize 64M 64M

都找了好多,都是说配置php.ini, nginx.conf,还有php-fpm.conf的request_terminate_timeout=0,

最后没用,自己试试就知道了,不多说了,多谢好人!

回复内容:

由于php每天要接收其它服务器post过来的文件

比如我在:192.168.1.147上用下面这条命令

wget http://192.168.1.148/upload.php --post-file=msg.log

这个msg.log 有50M,进行post msg.log这个文件到148服务器的php上存储,进行入库

首先说明:

不要问我怎么不直接复制文件,要用php接收?

我现在讨论的是这个问题,谢谢。

原因:

首次调用出现了:

HTTP request sent, awaiting response... 413 Request Entity Too Large

我按照网上的教程改nginx配置

改为:

client_max_body_size 100m;

满以为解决问题,再次执行报错。

HTTP request sent, awaiting response... 502 Bad Gateway

网上有的说php.ini要配置,但是我的php.ini 配置是64M

max_execution_time 300 300

max_file_uploads 20 20

max_input_nesting_level 64 64

max_input_time 60 60

max_input_vars 1000 1000

memory_limit 128M 128M

open_basedir no value no value

output_buffering 4096 4096

output_handler no value no value

post_max_size 64M 64M

upload_max_filesize 64M 64M

都找了好多,都是说配置php.ini, nginx.conf,还有php-fpm.conf的request_terminate_timeout=0,

最后没用,自己试试就知道了,不多说了,多谢好人!

nginx配置:

keepalive_timeout 600;

proxy_send_timeout 600;

client_max_body_size 200M;

fastcgi_connect_timeout 600;

fastcgi_send_timeout 600;

fastcgi_read_timeout 600;

fastcgi_buffer_size 1024k;

fastcgi_buffers 8 1024k;

fastcgi_busy_buffers_size 1024k;

fastcgi_temp_file_write_size 1024k;

proxy_ignore_client_abort on;

tcp_nopush on;

tcp_nodelay on;

client_header_timeout 600;

client_body_timeout 600;

sendfile on;

send_timeout 600;

php的配置或php-fpm上传大小配置及post大小也需要修改

根据你的实际情况修改上边的配置吧

具体原因不清楚, 不过502错误一般都是PHP那边出了问题

不是没响应,就是响应时间过长,等。

这里已经和nginx没什么关系了

我在Xubuntu 14.04上用测试PHP CLI Server,只配置了下面两条,其他都是默认配置,就能上传90多MB的ZIP包了.

upload_max_filesize=100M

post_max_size=128M

php -S 127.0.0.1:8080 -t /png/www/example.com/public_html/

// chmod 777 /png/www/example.com/public_html/app/yab/static/

// http://127.0.0.1:8080/app/yab/upload.php

';

if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {

echo "File is valid, and was successfully uploaded.\n";

} else {

echo "Possible file upload attack!\n";

}

echo 'Here is some more debugging info:';

print_r($_FILES);

print "";

exit();

}

?>

Send this file:

输出:

File is valid, and was successfully uploaded.

Here is some more debugging info:Array

(

[userfile] => Array

(

[name] => firefox.zip

[type] => application/zip

[tmp_name] => /tmp/phpG1PdtU

[error] => 0

[size] => 93938426

)

)

同时本地测试了Nginx + PHP-FPM,Nginx只修改了下面这个配置:

client_max_body_size 128M;

经过我测试,上传文件是可以上传成功的,但是我用wget --post-file 就返回502错误

wget可能有限制大文件上传,

用curl命令搞定:

curl -T "msg.log" "http://192.168.1.148/upload.php"

谢谢大家 结贴!

nginx_module_upload

你把php的执行时间调大一点,另外上传超时也调大一点。

set_time_limit(),max_input_time之类的。你是不是第一次调完后再上传会等一会儿才报502错?

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php上传文件502,php+nginx 上传大文件 502 Bad Gateway相关推荐

  1. nginx 限制文件上传速度_nginx上传文件速度慢 Nginx上传文件全部缓存解决方案 - 硬件设备 - 服务器之家...

    nginx上传文件速度慢 Nginx上传文件全部缓存解决方案 发布时间:2017-03-09 来源:服务器之家 下面通过文字说明给大家详解Nginx上传文件全部缓存解决方案. 因为应用服务器(Jett ...

  2. node 生产的env文件怎么注入_前端各种文件上传攻略,从小图片到大文件断点续传...

    写在前面 今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受.这么好的光阴怎么浪费,睡觉.吃饭.打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完. ...

  3. 写给新手前端的各种文件上传攻略,从小图片到大文件断点续传

    写在前面 今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受.这么好的光阴怎么浪费,睡觉.吃饭.打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完. ...

  4. 前端各种文件上传攻略,从小图片到大文件断点续传

    写在前面 今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受.这么好的光阴怎么浪费,睡觉.吃饭.打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完. ...

  5. php大文件下载502,php+nginx上传大文件502BadGateway

    由于php每天要接收其它服务器post过来的文件 比如我在:192.168.1.147上用下面这条命令 wget http://192.168.1.148/upload.php --post-file ...

  6. 上传文件的php代码,PHP实现大文件上传源代码

    PHP实现大文件上传源代码 PHP 基础教程 PHP 是一种创建动态交互性站点的`强有力的服务器端脚本语言. PHP 是免费的,并且使用广泛. 以下是小编为大家搜索整理的PHP实现大文件上传源代码,希 ...

  7. 大文件分片上传前端框架_无插件实现大文件分片上传,断点续传

    文件上传.gif 1. 简介: 本篇文章基于实际项目的开发,将介绍项目中关于大文件分片上传.文件验证.断点续传.手动重试上传等需求的使用场景及实现: 2. 项目需求 在一个音视频的添加中,既要有音视频 ...

  8. php+nginx导入太大文件报http error错误的原因

    项目中用到太多的导入导出,最近换了服务器,导致一旦文件过大就出现http error的错误,查找后是配置文件没有同步的原因,php.ini需要几个配置 upload_max_filesize = 20 ...

  9. post提交php出现502,PHP+Nginx 字符串内容 POST 提交502错误?

    我做了一个 input name 为 title ,一个按钮,顶部写了一个 echo $_POST['title'] input 输入 "新生儿系列" 5个字的时候点击按钮会长时间 ...

最新文章

  1. COM:中科院遗传发育所发表“重组菌群体系在根系微生物组研究中应用”的重要综述
  2. 移动广告聚合管理-KeyMob|移动广告聚合平台|
  3. 神州易桥财税 java项目经理_【高级项目经理(体系运营)职责】2021年燕园财税高级项目经理(体系运营)岗位职责-看准网...
  4. JS难点剖析-原型原型链
  5. 人工神经网络之激活函数 -RELU函数
  6. STM32 DMA传输
  7. 为什么川渝的超市要求顾客必须“要有妈”?
  8. 微软推出新逆天开源语言,告别 for 循环,提高开发效率!
  9. PowerDesigner工具箱palette关了如何重新打开
  10. 使用类型注解让 Python 代码更易读
  11. tinyXml解析XML文件
  12. ES6--变量的解构赋值
  13. 关于徐晓东,传统武术,以及太极拳
  14. matlab唱歌原理,Matlab演奏菊花台的源码及原理
  15. vue 将echarts的图片导出成pdf文件
  16. 事件循环libevent实现echoclient
  17. python小程序表白
  18. KVM移植之ITRON版
  19. python3爬取网页AJAX数据
  20. data单复数一样吗_[学英语] data后面跟is还是are?

热门文章

  1. 计算机考研难易程度,历年计算机考研试卷结构+各科难度分析,最难的一科是它!...
  2. 最容易理解的月薪除税Java计算器
  3. 读书笔记:《了不起的我》
  4. @Transactional
  5. 官宣:3月27日的PMP考试,确定延期至6月、7月
  6. 彭明辉: 生命是一种长期而持续的累积过程
  7. 新奇老师java纯小白入门_推荐一篇为纯小白同学准备的Java教程,从仓颉造字开始学...
  8. 双11交易额1682亿,计算机预测打败了人类
  9. 如何去掉超链接下划线用三个简单的实例来说明
  10. CDMA弱信号掉话问题分析