Php 旋度不是';t将脚本作为后台进程运行

Php 旋度不是';t将脚本作为后台进程运行,php,curl,Php,Curl,我整天都在摆弄cURL,我读到其他人都在用它,所以我无法让它以任何方式工作。不管我怎么做,我的整个网站都会一直挂起,直到处理完毕。我甚至试着像这样运行它: exec("curl -d $params $url -k &"); 它仍然没有作为后台进程运行。现在,如果我在贝壳里做这个,没关系。我现在完全迷路了。我今天已经尝试了很多方法,但无法将其作为后台进程运行。我现在很沮丧,它没有按它应该的方式工作,我可能错过了一些小东西,但我就是找不到。代码很简单(目前): 正在调用的脚本如下所示:

我整天都在摆弄cURL,我读到其他人都在用它,所以我无法让它以任何方式工作。不管我怎么做,我的整个网站都会一直挂起,直到处理完毕。我甚至试着像这样运行它:

exec("curl -d $params $url -k &");
它仍然没有作为后台进程运行。现在,如果我在贝壳里做这个,没关系。我现在完全迷路了。我今天已经尝试了很多方法,但无法将其作为后台进程运行。我现在很沮丧,它没有按它应该的方式工作,我可能错过了一些小东西,但我就是找不到。代码很简单(目前):

正在调用的脚本如下所示:

$id = $_POST['id'];
$etc = $_POST['etc'];
$temp = file_get_contents("remote file");
$fp = fopen('test.txt', 'w');
fwrite($fp, $temp);
fclose($fp);
它工作正常,只是文件内容需要30多秒才能完成,并且整个服务器在完成之前都处于冻结状态。这重复了大约70次。为什么它不能作为后台进程运行


理想情况下,我希望使用curl\u multi同时处理所有这些文件,但我必须让它在后台运行,而我显然无法正确地执行它。

Michael Mior是对的,您需要将输出重定向到某个地方。如果你不在乎它去哪里,像这样的事情应该做:

exec("curl -d $params $url > /dev/null 2>&1");

Michael Mior是对的,您需要将输出重定向到某个地方。如果你不在乎它去哪里,像这样的事情应该做:

exec("curl -d $params $url > /dev/null 2>&1");

你看过说明书了吗?“如果一个程序是用这个函数启动的,为了让它在后台继续运行,程序的输出必须重定向到一个文件或另一个输出流。否则会导致PHP挂起,直到程序的执行结束。”所以基本上,你不想等待响应?你需要回复吗?我想要回复,但是没有回复我也可以。谢谢。你不能既有回应又让它在后台运行-那会是一个矛盾,这就是为什么它不起作用。你读过手册了吗?“如果一个程序是用这个函数启动的,为了让它在后台继续运行,程序的输出必须重定向到一个文件或另一个输出流。否则会导致PHP挂起,直到程序的执行结束。”所以基本上,你不想等待响应?你需要回复吗?我想要回复,但是没有回复我也可以。谢谢。你不能既有回应又让它在后台运行——这将是一个矛盾,这就是为什么它不起作用。