异步卷曲POST无法正常工作

时间:2014-07-19 12:32:04

标签: php curl

我正在尝试在我的服务器上对后台脚本进行curl异步POST 由于在我的服务器端运行的脚本总是执行许多耗时的任务,因此我希望我的服务器端脚本异步运行并将浏览器控制权交给用户。

我的问题是,即使下面的代码被修改,这些脚本对我来说也不起作用。有什么建议吗?

编辑:在我尝试这样做之前,我的curl和shell_exec部分运行良好。

以下是用户端的代码。

<?php

//...

$xml = ""; //my xml
$url = ""; //my url
$ch = curl_init();  
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_FRESH_CONNECT, true); //just add
curl_setopt($ch, CURLOPT_TIMEOUT, 1);          
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_NOBODY, true);       //just added

$data=curl_exec($ch);
echo $data;
if(curl_errno($ch)) {
    print curl_error($ch);
}

else
    curl_close($ch);
?>

我的服务器端脚本就在这里。

<?php
$data = trim(file_get_contents('php://input'));
$xml = simplexml_load_string($data);

//...
echo "gonna import data to database";
ignore_user_abort(true);
set_time_limit(0);
shell_exec("mysql test < test.sql"); // assume that is line takes 1 minute
?>

0 个答案:

没有答案