2013-06-28 33 views
0

我想將一個表單變量傳遞給phpseclib ssh作爲主機名。類似這樣的:將表單變量傳遞給SSH PHP腳本

<form action="test.php" method="post"> 
IP OR HOSTNAME: <input type="text" name="ipaddr"> 

<?php 
$ipaddr = $_POST["ipaddr"]; 
$ssh = new ssh2('$ipaddr'); 
if (!$ssh->login('username', 'password')) { 
    exit('Login Failed'); 
} 
echo $ssh->exec('command1'); 
echo $ssh->exec('command2'); 
?> 

看起來沒有工作。我錯過了什麼?

+0

我不確定你使用的是什麼ssh2庫,但這可能有幫助:http://stackoverflow.com/questions/6270419/how-to-execute-ssh-commands-via-php - 否則,有PHP的'ssh2_ *'函數:http://us2.php.net/manual/en/function.ssh2-auth-password.php –

回答

0

如果您使用phpseclib你應該這樣做:

$ssh = new Net_SSH2($ipaddr); 

而不是你在做什麼:

$ssh = new ssh2('$ipaddr'); 

注意它是如何Net_SSH2,而不是ssh2。還請注意$ipaddr不是單引號。當使用單引號時,沒有不必要的變量不會被替換。