将表单变量传递给SSH PHP脚本

时间:2013-06-28 17:09:02

标签: php forms variables ssh phpseclib

我正在尝试将表单变量作为主机名传递给phpseclib ssh。像这样:

<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');
?>

似乎没有效果。我错过了什么?

1 个答案:

答案 0 :(得分:0)

如果你正在使用phpseclib,你应该这样做:

$ssh = new Net_SSH2($ipaddr);

而不是你在做什么:

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

请注意它是Net_SSH2而不是ssh2。另请注意$ipaddr如何不在单引号中。当使用单引号时,不会替换不必要的不​​承受变量的事实。