以下是下面列出的程序。我試圖從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,無法在密碼中抨擊? –