0

我正在尝试将表单变量作为主机名传递给 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');
?>

似乎没有工作。我错过了什么?

4

1 回答 1

0

如果您使用的是 phpseclib,您应该这样做:

$ssh = new Net_SSH2($ipaddr);

而不是你在做什么:

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

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

于 2013-06-30T00:03:21.723 回答