Jatin Singhal Jatin Singhal - 1 year ago 167
PHP Question

How can I sending large data over cURL?

I am migrating data from one server to another and I am using curl to do so, so far I have been successful but there are some large entities that are not migrating!
I have tried serialize but even that is not working, no error page comes! The php has all settings configured to maximum,

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20070725 Firefox/");
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;

I used this with both:

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


$postdata = http_build_query($postDataFinalArray);

please help!

The array size is 400540, COUNT_RECURSIVE.

Answer Source

Your post size is exceeding your set post_max_size of 8MB. Try increasing this to something like 64MB (or higher, depending on the size of the posted data) using in php.ini:


or in a script:

ini_set('post_max_size', '64M');
Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download