1
我试图从bash命令获取输出。 如果我在bash中直接执行some命令,我会看到结果。但不能与PHP exec()函数..PHP exec()不从bash命令抓取输出
$command = "ffmpeg -i '$video_path' 2>&1 | grep Video | perl -wle 'while(<>){ $_ =~ /.*?(\d+x\d+).*/; print $1; }'";
$res = exec($command/*, $output*/);
print_r($res);
// print_r($output);
此命令尝试使用ffmpeg lib获得视频分辨率。视频路径很好,我三重检查。
谢谢!
编辑:从输出截图在bash
Per [the docs](http://php.net/manual/en/function.exec.php),“命令结果的最后一行。如果你需要执行一个命令并且拥有所有的来自命令的数据直接返回,没有任何干扰,使用'passthru()'函数。“ – ceejayoz
将命令的完整输出转换为字符串的最简单方法是使用反引号(') – iainn
看起来您已经尝试将输出参数用于exec,它将包含所有输出,而不是最后一行。以这种方式运行时,$输出中有什么? –