好的,我得到了这段代码
<?php
$host = "MYSERVERIP";
$user = "root";
$password = "123456";
$command = $_GET["command"];
if($command != null) {
//HERE I WANT THE PHP TO SEND THE COMMAND TO THE SERVER
} else {
echo"No command were given!";
}
?>
我希望它能像这样工作:让我说我去MYSERVERIP/sendcommand.php?command=reboot
然后我希望我的服务器重启,我该怎么做?我的服务器正在运行debian。
我试图通过阅读http://php.net/manual/en/function.ssh2-exec.php
来理解它,但那个dosnt让我在某个地方:/
答案 0 :(得分:2)
如果你想在同一台服务器上运行php运行 - 只需使用 exec 或 shell_exec
答案 1 :(得分:1)
是你链接上的一个例子......
与你的东西混合看起来像
$host = "MYSERVERIP";
$user = "root";
$password = "123456";
$command = $_GET["command"];
if($command != null) {
$connection = ssh2_connect('shell.example.com', 22);
ssh2_auth_password($connection, 'username', 'password');
$stream = ssh2_exec($connection, $_GET["command"]);
} else {
echo"No command were given!";
}
假设服务器接受这样的命令
答案 2 :(得分:0)
如果您的文件与php文件是同一台服务器,则可以使用
exec() or shell_exec( string $cmd )
如果不是同一台服务器,则不可能,我所知道的全部
答案 3 :(得分:0)
如果要在运行PHP的服务器之外的其他服务器上发出命令,则需要从ssh2_connect开始。
如果您想在服务器上本地发布命令,请先阅读program execution。
我建议你密切注意这方面的安全方面。 您还应该知道,如果您使用的是共享托管环境,则可能会禁用这两个选项。