php post 大量数据_php curl post 数据量过大的问题

有个需求在一台服务器上查询出一些数据,然后推送到另一台服务器上。查询出的数据大概一万多条,用浏览器执行php curl的时候,过一段时间浏览器就跳到–无法显示该页–上,curl的过期时间还有php脚本执行时间都调的很大,应该不是这两个到期了。如果数据量小就没问题,求解这是什么原因

curl有两个超时参数

–connect-timeout 尝试连接的最大时长

-m/–max-time 处理的最大时长

另外也可能是数据量大小的问题,需要在php.ini里设置

max_input_time 每个PHP页面接收数据所需的最大时间

memory_limit 每个PHP页面所吃掉的最大内存

你要看是哪里查询的问题还是推送的问题。。

php脚本执行时间调再长都没用

因为通常php超时是由于php-fpm超时引起的 尝试修改php-fpm超时时间

一般网络传输都有一个量的限制,比如文件下载,很多都是用了类似断点续传的道理,请求也是,看看你自己的业务需求,怎么多次获取数据,比如常用的分页等等。在量能正常操作的时候,一次性处理当然是最经济的。

你一次推送的数据太多了,还是做个队列,从里面取出一定的数据,然后post到另一台服务上吧,改大参数但是执行起来还是很耗时间和资源的

//虽然很反感HTTP请求需要长时间的响应(严重占用资源)

//但问题还是得解决下

//首先, --connect-timeout 是curl客户端主动设定的值, 意思为连接多长时间无响应后断开.

//然而, 你忽略了另一个问题, 服务端也可以断开的

//假设你的服务端是 (nginx/apache) + php

//那么, nignx/apache 上也有timeout设置的, 可能是nginx/apache主动断开了

//另外php如果连接mysql等数据库, 也有timeout设置, 如果没有长时间的查询, 可忽略这处.

会错你的意思了, php 有个配置 max_execution_time 即最大执行时间

因为你这个脚本是特例, 所以单独在这个php文件上写

ini_set("max_execution_time", 300);

这个问题几年前遇到过,PHP post数据貌似超过了64M(印象中)post就没办法把数据传输过去,所以你的数据最好做一下分段。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值