我正在创建一个接收post请求然后返回数据的API。这个数据需要立即返回,但之后我需要执行一个长时间运行的curl操作。
<?php
if (!empty($_POST)) {
$numbers = isset($_POST['numbers']) ? $_POST['numbers'] : 0;
$numbers = $numbers*$secrethash;
$result = array("error" => false,
"numbers" => $numbers);
echo json_encode($result);
$curlfunction($numbers);
exit;
不幸的是,在curl函数完成导致我的应用程序超时之前,不会返回数据。可以在后台执行curl,这样我的数据可以立即返回吗?
答案 0 :(得分:1)
您可以将该函数放在一个单独的文件中并执行它与此类似。这将导致创建单独的进程。也许将结果写入文件并阅读。设置你的php以将变量作为参数。
exec(“/ usr / bin / php /path/to/script.php&gt; / dev / null&amp;”);
值得一试。 : - )
答案 1 :(得分:0)
有几种选择。