2013-12-16 58 views
2

以下是下面列出的程序。我试图从PHP运行shell命令,所以我写了下面的代码:如何在php中传递参数来执行shell命令?

<?php  
$argument1 = $argv[1];  
$output = shell_exec('sudo whois ');  
echo "<pre>$output</pre>";  
?> 

但每次我执行它得到执行,但不显示输出的命令。只显示选项。

我在shell命令是 php filename.php google.com

+1

'sudo'-ing命令来自php,无法在密码中抨击? –

回答

2

你是不是在你的命令中使用传递的参数。您需要使用的论点whois命令:

<?php  
$argument1 = escapeshellarg($argv[1]); 
$output = shell_exec('whois '. $argument1);  
echo "<pre>$output</pre>";  
?> 

PS:whois没有sudo也可以囤地。

+4

不要忘记shell-escape输入:-) –

+0

@EliasVanOotegem:谢谢我将它添加到代码中。 – anubhava

+0

感谢@anubhava的帮助,以及如果我想从网络调用这些而不是从命令行调用... – user3101586