我试图通过SSH(使用Net_SSH2类)以PHP代码连接到服务器,并在远程服务器上运行许多命令。
远程服务器输出bash: runmqsc: command not found
。
奇怪的是,当我使用MobaXterm SSH连接到该服务器时,可以在该服务器上找到完全相同的命令并可以正常工作。
我验证了代码使用正确的主机名,用户名和密码进行连接。
有任何想法吗?
这就是我在PHP中所做的事情:
$this->ssh = new Net_SSH2("myhost");
$this->ssh->login("myuser", "mypass");
$command = "runmqsc MyQmgr \n DEFINE QLOCAL(MY_QUEUE) \n end \n";
$this->ssh->exec($command);
最佳答案
您可能需要执行以下操作:
<?php
include('Net/SSH2.php');
$ssh = new Net_SSH2('www.domain.tld');
if (!$ssh->login('username', 'password')) {
exit('Login Failed');
}
echo $ssh->read('username@username:~$');
$ssh->write("runmqsc MyQmgr\n"); // note the "\n"
echo $ssh->read('username@username:~$'); // or whatever the prompt is - does runmqsc have it's own prompt?
$ssh->write("DEFINE QLOCAL(MY_QUEUE)\n");
?>
...等等...