如何通过cURL发送大数据?

时间:2016-09-22 16:32:33

标签: php curl migration

我正在将数据从一台服务器迁移到另一台服务器,而我正在使用curl这样做。到目前为止我已经成功了,但有一些大型实体没有迁移!

我尝试了serialize,但即使这样也行不通,也没有显示错误! php将所有设置配置为最大值。

  $ch = curl_init(); 
  curl_setopt ($ch, CURLOPT_URL, $url); 
  curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
  curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
  curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
  curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0); 
  curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
  curl_setopt ($ch, CURLOPT_REFERER, $url); 
  curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
  curl_setopt ($ch, CURLOPT_POST, 1); 
  curl_setopt( $ch, CURLOPT_ENCODING, 'gzip,deflate');
  $result = curl_exec ($ch);
  echo $result;
  curl_close($ch);

我用这两个:

$stringPost = serialize($postDataFinalArray);
  $postdata = 'string='.$stringPost;`

 $postdata = http_build_query($postDataFinalArray);

请帮忙!

数组大小为400540,COUNT_RECURSIVE。

1 个答案:

答案 0 :(得分:2)

您的帖子大小超过了您设置的post_max_size 8MB。尝试使用php.ini中的64 MB(或更高,取决于发布数据的大小)增加此值:

post_max_size=64M

或在脚本中:

ini_set('post_max_size', '64M');