【问题标题】:No output from egrep through PHP exec通过 PHP exec 从 egrep 没有输出
【发布时间】:2014-03-15 16:16:58
【问题描述】:

我正在从 php 命令行运行以下命令。

<?php $out = exec('cat file.txt | egrep -i "string"');
echo $out; ?>

我直接对 shell 执行了相同的命令,效果很好。但是当我运行 php 时,它没有显示任何输出。我做错了什么?

【问题讨论】:

  • 尝试使用$output 参数,因为返回值将只包含程序的最后一行:$output = array(); $result = exec('cat file.txt | egrep -i "string"', $output); print_r($output);

标签: php grep exec


【解决方案1】:

问题可能是你没有打扰reading the documentation(我强调):

返回值

命令结果的最后一行。如果您需要 [...] 获取命令中的所有数据 [...] 使用 passthru() 函数。

要获得输出 [...],请使用 output 参数。

换句话说,您应该设置$output 参数(第二个参数),或者考虑使用passthru() 函数。

【讨论】:

  • 他应该也可以使用exec,只要他使用第二个参数$output
猜你喜欢
  • 2011-01-25
  • 2011-02-05
  • 2019-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多