0
我使用PHP的exec函数调用命令行上的应用程序:PHP exec,每次执行调用后清除输出缓冲区?
foreach($jobs as $job)
{
exec($job['command'], $output);
if($cmdOutput = json_decode($output[0], true))
$log->addInfo($cmdOutput['message']);
else
$log->addError('Invalid JSON response');
}
从命令行程序将返回1线输出。它总是一个JSON编码的字符串(除非有一个我没有考虑过的错误)。例如:
{"response":false,"message":"No ads found"}
的问题是输出缓冲器每次运行后也不会被清除,所以$output[0]
值总是在每次迭代相同的。
如何在每次迭代后清除输出缓冲区?
只需使用'未设置($输出)'WACH迭代之后,或者甚至更清洁,每次调用'Exec之前限定_new_缓冲液()':'$输出= []; ' – arkascha