我正在使用下面的curl命令。 exec()函数执行大约需要60 ms,这会导致高响应时间。
curl -X POST -H 'Content-Type: application/json' --connect-timeout 1 -m 1 -d '<payload>' '<url>' > /dev/null 2>&1 &
答案 0 :(得分:0)
您可以使用proc_open
功能代替exec
功能。您还可以通过在日志文件中打印来检查导致性能问题的原因。
$descriptorspec = array(
array('pipe', 'r'), // stdin
array('file', 'response.log', 'a'), // stdout
array('pipe', 'w'), // stderr
);
$env = array(
'PATH' => '/usr/local/bin' //Path to node bin dir
);
$proc = proc_open('wget -qO- --post-data "{YOUR POST DATA}" "{URL}" &', $descriptorspec, $pipes, __DIR__, $env);
if (is_resource($proc))
{
proc_close($proc);
}
**Example:**
$proc = proc_open('wget -qO- --post-data "id=' . $_POST["id"] . '" "http://www.example.com" &', $descriptorspec, $pipes, __DIR__, $env);