PHP-php如何获取exec的执行结果

PHP-php如何获取exec的执行结果

灵芸 发布于 2017-04-06 字数 29 浏览 1138 回复 4

如何判断语句执行成功?

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

归属感 2017-10-27 4 楼

在命令后加上“2>&1” 打印出错误信息
例如:
$command = 'rsync -avzuCP /var/www/codesyn/common.php --password-file=/etc/rsyncd.secrets root@124.232.150.30::webdata 2>&1';
@exec($command, $output, $result);

然后用

$output_str = implode(' ', $output);
echo $command;
echo $result,$output_str;

你看看输出结果就知道了

浮生未歇 2017-10-19 3 楼

exec 第三个参数假如为0,则表示执行成功,别的几个函数的调用都类似,猜测利用的是shell 脚本执行的系统返回。所以判断方法与 shell 中的判断方法一致。

泛泛之交 2017-09-24 2 楼

写以简单的例子

$ip = "www.domain.com"; 
exec("ping $ip ", $arr, $i); 
    echo "信息:<br />";
    print("<xmp>");
print_r($arr); 
    print("</xmp>");
echo "状态:".$i."<br />";
    echo "PS:状态0为执行成功,1为执行失败!";
晚风撩人 2017-04-08 1 楼

这个是我最近做的一个程序里用到的,当然我用的不是exec,而是passthru,其实也是可以满足你的实现,下面是我复制出的代码,你看看
ob_start();
$cmd="这个里边写你要执行语句";
passthru($cmd,$return);
$sysout= ob_get_contents();
ob_end_clean();
$sysout就是你要的输出了