Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何隐藏system()输出_Php_System - Fatal编程技术网

Php 如何隐藏system()输出

Php 如何隐藏system()输出,php,system,Php,System,我正在使用windows XP。通过调用自动化ssh会话的TCL脚本,我可以通过浏览器成功运行system()命令。我还从脚本返回一个值。但是,我的问题是脚本会在浏览器中转储整个ssh会话 我的php脚本如下所示: $lastline=system('"C:\tcl\bin\tclsh.exe" \path to file\filename.tcl '.$username.' '.$pass,$val); filename.tcl: spawn plink -ssh $

我正在使用windows XP。通过调用自动化ssh会话的TCL脚本,我可以通过浏览器成功运行system()命令。我还从脚本返回一个值。但是,我的问题是脚本会在浏览器中转储整个ssh会话

我的php脚本如下所示:

$lastline=system('"C:\tcl\bin\tclsh.exe" \path to file\filename.tcl '.$username.' '.$pass,$val);  
filename.tcl:

spawn plink -ssh $user@$host   
expect "password:"  
send "$pass\r"  
expect "\prompt:/->"   
set $return_value [string compare /..string../ $expect_out(buffer)]   
/...some code...this runs fine/  
exit $return_value   
一切运行正常,我正确返回$return_值,但php文件在我的浏览器中打印整个ssh会话的执行结果,如下所示:

使用用户名“admin”。admin@10.135.25.150的密码:==/*一些文本*/==\prompt://->…/一些文本/

我想阻止system()函数在我的浏览器中打印此内容
我使用了shell_exec()函数,但它返回整个ssh会话结果(我在tcl脚本中对其进行了分析,并获得了一个精确的值以返回到php脚本) 有没有一种方法可以不使用shell_exec()而是使用system()来实现这一点

提前感谢

使用ob_start();清洁前和清洁后();打电话之后


通常,如果要阻止任何内容输出到浏览器,可以在system()调用之前使用ob_start(),然后使用ob_end_clean()。见

特别说明:

执行外部程序并显示输出

在那一页上列出了备选方案。如果改用,它将只执行命令而不显示任何输出

例如:

$ php -q foo.php
Hello, total 1
-rw-r--r-- 1 bar domain users 59 Jul 15 16:10 foo.php
world!
使用
exec
时,不会显示任何输出:


$php-qfoo.php
你好,世界!

sry在我的问题中遗漏了这一点,但即使是这样,$result也会存储我从tcl脚本传回的$return\u值。尽管如此,输出仍然会在我的浏览器中转储ssh会话感谢csl。。。它是有效的。。。前面我在system()命令之前和之后使用了ob_start()和ob_end_clean()函数来获得所需的结果。。。谢谢你的意见。。。。
<?php
echo "Hello, ";
system("ls -l");
echo "world!\n";
?>
$ php -q foo.php
Hello, total 1
-rw-r--r-- 1 bar domain users 59 Jul 15 16:10 foo.php
world!
<?php
echo "Hello, ";
exec("ls -l");
echo "world!\n";
?>

$ php -q foo.php
Hello, world!