php上传文件502,php+nginx 上传大文件 502 Bad Gateway
由于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相关推荐
- nginx 限制文件上传速度_nginx上传文件速度慢 Nginx上传文件全部缓存解决方案 - 硬件设备 - 服务器之家...
nginx上传文件速度慢 Nginx上传文件全部缓存解决方案 发布时间:2017-03-09 来源:服务器之家 下面通过文字说明给大家详解Nginx上传文件全部缓存解决方案. 因为应用服务器(Jett ...
- node 生产的env文件怎么注入_前端各种文件上传攻略,从小图片到大文件断点续传...
写在前面 今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受.这么好的光阴怎么浪费,睡觉.吃饭.打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完. ...
- 写给新手前端的各种文件上传攻略,从小图片到大文件断点续传
写在前面 今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受.这么好的光阴怎么浪费,睡觉.吃饭.打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完. ...
- 前端各种文件上传攻略,从小图片到大文件断点续传
写在前面 今年国庆假期终于可以憋在家里了不用出门了,不用出去看后脑了,真的是一种享受.这么好的光阴怎么浪费,睡觉.吃饭.打豆豆这怎么可能(耍多了也烦),完全不符合我们程序员的作风,赶紧起来把文章写完. ...
- php大文件下载502,php+nginx上传大文件502BadGateway
由于php每天要接收其它服务器post过来的文件 比如我在:192.168.1.147上用下面这条命令 wget http://192.168.1.148/upload.php --post-file ...
- 上传文件的php代码,PHP实现大文件上传源代码
PHP实现大文件上传源代码 PHP 基础教程 PHP 是一种创建动态交互性站点的`强有力的服务器端脚本语言. PHP 是免费的,并且使用广泛. 以下是小编为大家搜索整理的PHP实现大文件上传源代码,希 ...
- 大文件分片上传前端框架_无插件实现大文件分片上传,断点续传
文件上传.gif 1. 简介: 本篇文章基于实际项目的开发,将介绍项目中关于大文件分片上传.文件验证.断点续传.手动重试上传等需求的使用场景及实现: 2. 项目需求 在一个音视频的添加中,既要有音视频 ...
- php+nginx导入太大文件报http error错误的原因
项目中用到太多的导入导出,最近换了服务器,导致一旦文件过大就出现http error的错误,查找后是配置文件没有同步的原因,php.ini需要几个配置 upload_max_filesize = 20 ...
- post提交php出现502,PHP+Nginx 字符串内容 POST 提交502错误?
我做了一个 input name 为 title ,一个按钮,顶部写了一个 echo $_POST['title'] input 输入 "新生儿系列" 5个字的时候点击按钮会长时间 ...
最新文章
- COM:中科院遗传发育所发表“重组菌群体系在根系微生物组研究中应用”的重要综述
- 移动广告聚合管理-KeyMob|移动广告聚合平台|
- 神州易桥财税 java项目经理_【高级项目经理(体系运营)职责】2021年燕园财税高级项目经理(体系运营)岗位职责-看准网...
- JS难点剖析-原型原型链
- 人工神经网络之激活函数 -RELU函数
- STM32 DMA传输
- 为什么川渝的超市要求顾客必须“要有妈”?
- 微软推出新逆天开源语言,告别 for 循环,提高开发效率!
- PowerDesigner工具箱palette关了如何重新打开
- 使用类型注解让 Python 代码更易读
- tinyXml解析XML文件
- ES6--变量的解构赋值
- 关于徐晓东,传统武术,以及太极拳
- matlab唱歌原理,Matlab演奏菊花台的源码及原理
- vue 将echarts的图片导出成pdf文件
- 事件循环libevent实现echoclient
- python小程序表白
- KVM移植之ITRON版
- python3爬取网页AJAX数据
- data单复数一样吗_[学英语] data后面跟is还是are?
热门文章
- 计算机考研难易程度,历年计算机考研试卷结构+各科难度分析,最难的一科是它!...
- 最容易理解的月薪除税Java计算器
- 读书笔记:《了不起的我》
- @Transactional
- 官宣:3月27日的PMP考试,确定延期至6月、7月
- 彭明辉: 生命是一种长期而持续的累积过程
- 新奇老师java纯小白入门_推荐一篇为纯小白同学准备的Java教程,从仓颉造字开始学...
- 双11交易额1682亿,计算机预测打败了人类
- 如何去掉超链接下划线用三个简单的实例来说明
- CDMA弱信号掉话问题分析