PHP Curl output buffer not receiving response

thomas112009

New Member
I have a deal where file1.php curl runs file2.php. file2.php is a long running file, but it sends(or is supposed to send) a response back to file1.php then carry on with it's code. I am using output buffer to try sending this data, but the problem is if I 'return;' right after the flush; file1.php receives the response just fine, but when I try to keep file2.php running, file1.php never receives the response, what I am doing wrong? Is there a different way I must send the response back to file1.php?\[code\]// file1.php $url = "file2.php" $params = array('compurl'=>$compurl,'validatecode'=>$validatecode); $options = array( CURLOPT_RETURNTRANSFER => true, // return web page CURLOPT_HEADER => true, // return headers CURLOPT_FOLLOWLOCATION => true, // follow redirects CURLOPT_ENCODING => "", // handle all encodings CURLOPT_USERAGENT => "Mozilla", // who am i CURLOPT_AUTOREFERER => true, // set referer on redirect CURLOPT_CONNECTTIMEOUT => 120, // timeout on connect CURLOPT_MAXREDIRS => 10, // stop after 10 redirects CURLOPT_TIMEOUT => 10, // don't wait too long CURLOPT_POST => true, // Use Method POST (not GET) CURLOPT_POSTFIELDS => http_build_query($params) ); $ch = curl_init($url); curl_setopt_array( $ch, $options ); $response = curl_exec($ch); curl_close($ch); echo $response;// file2.phpob_start();echo 'Running in the background.';// get the size of the output$size = ob_get_length();header("HTTP/1.1 200 OK"); // I have tried without thisheader("Date: " . date('D, j M Y G:i:s e')); // Tried without thisheader("Server: Apache"); // Tried without thisheader('Connection: close');header('Content-Encoding: none');header("Content-Length: $size");header("Content-Type: text/html"); // Tried without this// flush all outputob_end_flush();ob_flush();flush();// If I add return; here file1.php gets the response just fine// But I need file2.php to keep processing stuff and if I remove the// return; file1.php never gets a response.\[/code\]
 
Top