调用exec()
时,我想捕获调用的返回值,但我对输出本身不感兴趣。 exec()
提供两个可选参数,通过引用传递,分别由输出和返回值填充。
所以我可以这样做,只是忽略$output
:
exec($command, $output, $return_value);
但是如果有很多输出怎么办?我不想在$output
填满时耗尽内存。
我想也许我可以做到这一点,但显然通过引用传递文字是无效的,我很快就发现了:
exec($command, null, $return_value);
所以现在我想知道,有没有办法解决这个问题?
我可以调整$command
的值,以便在shell级别将输出重定向到/dev/null
,从而解决内存使用问题,但如果我不是一个好的解决方案无法预测$command
的起始值。
答案 0 :(得分:2)
试试system ( string $command [, int &$return_var ] )。它将返回状态写入第二个参数,并且仅返回您不需要时不需要分配的最后一行输出:
system($command, $return_value);