我正在使用system()
PHP函数来运行像system("curl command here",$output);
这样的curl命令,但它会在屏幕上显示结果。有什么方法可以避免这种输出吗?
答案 0 :(得分:5)
你使用了错误的功能。根据文件:
system()就像函数的C版本一样,它执行给定的命令并输出结果。
所以它总是输出。使用exec
Docs而不是返回(而不是输出)程序输出:
$last = exec("curl command here", $output, $status);
$output = implode("\n", $output);
或(仅为完整性)使用output bufferingDocs:
ob_start();
system("curl command here", $status);
$output = ob_get_clean();
答案 1 :(得分:3)
您可以尝试使用输出缓冲。
ob_start();
system("curl command here",$output);
$result = ob_get_contents();
ob_end_clean();
答案 2 :(得分:1)
您可以修改命令字符串并附加“1> / dev / null 2>& 1”或 - 更优雅地 - 使用pipe执行该过程(参见示例#2)。
要更精确地控制流程的文件句柄,您还可以使用proc_open()
。
答案 3 :(得分:1)
答案 4 :(得分:1)
不,您应该使用PHP curl library