如何隐藏从shell_exec()启动的Linux命令的输出

时间:2014-11-20 16:14:48

标签: php

大家好,这是我的代码

<?php
  $res = shell_exec('curl  http://www.example.com');

我使用此命令从终端启动它

  

php script.php

这是输出:

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
100  1270  100  1270    0     0   5515      0 --:--:-- --:--:-- --:--:-- 11545

我不想看到我怎么办?

2 个答案:

答案 0 :(得分:1)

您正在看到该输出,因为curl将其当前进度输出到STDERR。

如果你想忽略它,你可以通过重定向来解决这个问题:

$res = shell_exec('curl  http://www.example.com 2>/dev/null');

或者,在shell级别:

$ php script.php 2>/dev/null

答案 1 :(得分:0)

您可以使用输出缓冲

ob_start();
$res = shell_exec('curl  http://www.example.com');
ob_end_clean();