如果字符串低于 500k 个字符,PHP 脚本 CURL 字符串不会返回长字符串(612300 个字符)的结果

问题描述 投票:0回答:1

我希望有人可以帮助我调试这个问题,我有一个 PHP 脚本,可以很好地收集单个加密数据字符串,直到返回的字符串超过大约 500,000 个字符。

我的脚本当前输出 612,300 个字符,此时 CURL 返回空结果。

但是,如果我将字符串降低到 500,000 个字符以下,CURL 可以在结果中显示数据。

有谁知道这是为什么,以及我如何允许无限的返回字符串长度?

问题不在于 mod_security,因为它不会触发任何问题,它似乎仅与字符串长度相关。

谢谢

php curl centos
1个回答
1
投票

经过一番大量搜索后,我自己解决了这个问题,问题是设置 CURLOPT_BUFFERSIZE 默认情况下将自身限制为 512k。

将其增加到字符串中的字节/字符数可以解决此问题,就像延长超时设置一样,请参见下文:

curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_BUFFERSIZE, 1000000);
curl_setopt($ch,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , 30); 
curl_setopt($ch, CURLOPT_TIMEOUT, 300);
© www.soinside.com 2019 - 2024. All rights reserved.