php curl 获取数据不完整怎么办

php curl获取数据不完整的解决办法:1、去掉“CURLOPT_RETURNTRANSFER=true”;2、修改数据源服务器的nginx缓存配置。

php curl 获取数据不完整怎么办

本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。

php curl 获取数据不完整

 curl获取数据的时候,结果的字符串长度比较大。 相同的结果每次获取的数据都不全,并且长度也不一样。

 试着把 HEADER信息修改为except: 但还是不行(这个可以解决的问题是数据量太大导致获取结果为空的情况)。

立即学习“PHP免费学习笔记(深入)”;

 去掉

 CURLOPT_RETURNTRANSFER = true

登录后复制

可以打印出完整数据

解决方案:

修改数据源服务器的nginx缓存配置【推荐:PHP视频教程】

fastcgi_buffers 由原来的 8*128k修改到8*1M

以下引自https://segmentfault.com/a/1190000007513677

Nginx的buffer机制,对于来自 FastCGI Server 的 Response,Nginx 将其缓冲到内存中,然后依次发送到客户端浏览器。缓冲区的大小由 fastcgi_buffers 和 fastcgi_buffer_size 两个值控制。

 比如如下配置:

 fastcgi_buffers 8 4K; 

 fastcgi_buffer_size 4K;

 fastcgi_buffers 控制 nginx 最多创建 8 个大小为 4K 的缓冲区,而 fastcgi_buffer_size 则是处理 Response 时第一个缓冲区的大小,不包含在前者中。所以总计能创建的最大内存缓冲区大小是 84K+4K = 36k。而这些缓冲区是根据实际的 Response 大小动态生成的,并不是一次性创建的。比如一个 8K 的页面,Nginx 会创建 24K 共 2 个 buffers。

 当 Response 小于等于 36k 时,所有数据当然全部在内存中处理。如果 Response 大于 36k 呢?fastcgi_temp 的作用就在于此。多出来的数据会被临时写入到文件中,放在这个目录下面。

 内存中缓冲了 36Kb,剩下的会写入的文件中。而实际的情况是,运行 Nginx Process 的用户并没有 fastcgi_temp 目录的写权限,于是剩下的数据就丢失掉了。

 

以上就是php curl 获取数据不完整怎么办的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2519960.html

(0)
上一篇 2025年3月5日 16:33:49
下一篇 2025年2月28日 11:16:40

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • php 怎么删除文件夹中的文件

    php删除文件夹中的文件的方法:1、直接通过unlink()函数删除指定文件,语法“unlink($filename)”。2、利用while语句和readdir()函数循环读取文件夹的内容,使用is_dir()判断文件夹中是否存在文件,如果…

    2025年3月5日
    200
  • php 北京时间怎么转utc

    php北京时间转utc的方法:首先创建一个PHP示例文件;然后通过“$time = 时间戳-8*60*60;$startUtc = date(‘c’,$time );”语句实现北京时间转utc时间即可。 本文操作环境…

    2025年3月5日
    200
  • php 字符串怎么转成二进制字符串

    php字符串转成二进制字符串的方法:首先创建一个PHP示例文件;然后定义页面编码为utf8;最后通过“StrToBin”方法将字符串转换成二进制即可。 本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。 php 字符串与…

    2025年3月5日
    200
  • php 怎么删除一个文件

    在php中,可以使用unlink()函数来删除一个文件,该函数可以删除指定路径的文件,语法为“unlink($filename,$context)”;参数“$filename”不可省略,用于指定要删除的文件路径,参数“$context”可省…

    2025年3月5日
    200
  • php 怎么将字符串转大写

    php将字符串转大写的方法:首先创建一个PHP示例文件;然后通过“strtoupper(“Hello WORLD!”);”语句直接将指定字符串全部转换为大写即可。 本文操作环境:Windows7系统、PHP7.1、D…

    2025年3月5日
    200
  • php怎么消除警告

    php消除警告的方法:首先打开相应的PHP页面;然后在PHP页面的开头部分加上“error_reporting(E_ERROR);ini_set(“display_errors”,”Off”)…

    2025年3月5日
    200
  • php 怎么判断文件存不存在

    php判断文件存不存在的方法:首先创建一个PHP示例文件;然后通过“file_exists(string $filename)”语法判断文件或目录是否存在即可。 本文操作环境:Windows7系统、PHP7.1、Dell G3电脑。 在对一…

    2025年3月5日
    200
  • php 去掉html标签的函数

    php去掉html标签的函数是“strip_tags”,该函数的作用就是剥去字符串中的HTML、XML以及PHP的标签,其使用语法是“strip_tags(string,allow)”。 本文操作环境:Windows7系统、PHP7.1、D…

    2025年3月5日
    200
  • php字符串中替换函数是什么

    php字符串中替换函数有两种,分别是:1、substr_replace函数,用于把字符串的一部分替换为另一个字符串;2、str_replace函数,能够使用一个字符串替换字符串中的另一些字符。 本文操作环境:Windows7系统、PHP7.…

    2025年3月5日
    200
  • php怎么去掉字符串中的数字

    php去掉字符串中的数字的方法:首先创建一个PHP示例文件;然后通过正则表达式“preg_replace(“/\d+/”,”, $res);”匹配字符串中的数字并删除即可。 本文操作环境:Windows7…

    2025年3月5日
    200

发表回复

登录后才能评论