以下是下面列出的程序。我试图从PHP运行shell命令,所以我写了下面的代码:如何在php中传递参数来执行shell命令?
<?php
$argument1 = $argv[1];
$output = shell_exec('sudo whois ');
echo "<pre>$output</pre>";
?>
但每次我执行它得到执行,但不显示输出的命令。只显示选项。
我在shell命令是 php filename.php google.com
以下是下面列出的程序。我试图从PHP运行shell命令,所以我写了下面的代码:如何在php中传递参数来执行shell命令?
<?php
$argument1 = $argv[1];
$output = shell_exec('sudo whois ');
echo "<pre>$output</pre>";
?>
但每次我执行它得到执行,但不显示输出的命令。只显示选项。
我在shell命令是 php filename.php google.com
你是不是在你的命令中使用传递的参数。您需要使用的论点whois
命令:
<?php
$argument1 = escapeshellarg($argv[1]);
$output = shell_exec('whois '. $argument1);
echo "<pre>$output</pre>";
?>
PS:whois
没有sudo
也可以囤地。
不要忘记shell-escape输入:-) –
@EliasVanOotegem:谢谢我将它添加到代码中。 – anubhava
感谢@anubhava的帮助,以及如果我想从网络调用这些而不是从命令行调用... – user3101586
'sudo'-ing命令来自php,无法在密码中抨击? –