Javascript 如何使用PHP代码登录linux服务器?

Javascript 如何使用PHP代码登录linux服务器?,javascript,php,html,linux,login-page,Javascript,Php,Html,Linux,Login Page,我想为自动化测试工具制作一个GUI,目前它在CLI中,我们需要将其转换为ig GUI,现在我面临的问题是,我选择了HTML、CSS、JS作为前端,PHP作为后端,所以你们中的任何一个人都可以建议我如何登录到具有一些IP的服务器吗?或者简单地说,如何使用PHP代码登录linux服务器?使用PHP,您无法登录服务器,因为您只运行PHP脚本,但实际上并不是一个执行这些操作的用户。也就是说,有一个用户设置了php脚本。每次您发送获取php文件的请求时,用户都会运行脚本并向beck发送结果 如果要从服务器

我想为自动化测试工具制作一个GUI,目前它在CLI中,我们需要将其转换为ig GUI,现在我面临的问题是,我选择了HTML、CSS、JS作为前端,PHP作为后端,所以你们中的任何一个人都可以建议我如何登录到具有一些IP的服务器吗?或者简单地说,如何使用PHP代码登录linux服务器?

使用PHP,您无法登录服务器,因为您只运行PHP脚本,但实际上并不是一个执行这些操作的用户。也就是说,有一个用户设置了php脚本。每次您发送获取php文件的请求时,用户都会运行脚本并向beck发送结果


如果要从服务器输出数据,必须通过php访问这些数据。然后,您可以将这些PHP文件作为网站的一部分打开

您可以使用“Secure Shell2”PHP模块通过SSH打开连接

//打开SSH连接(主机名=远程计算机的IP或网络名称)

$connection=ssh2\u connect('hostname',22)

//通过登录/密码进行身份验证

ssh2_auth_password($connection,'username','password')

然后执行一个命令:

//在远程计算机上执行shell命令(例如“php-v”以了解php版本)

$stream=ssh2_exec($connection,'php-v')

//将结果从远程计算机读取到本地计算机

流\设置\阻塞($stream,true)

$stream\u out=ssh2\u fetch\u stream($stream,ssh2\u stream\u STDIO)

//在本地计算机上打印结果

回显流获取内容($stream\u out)


您不需要从PHP登录到服务器,但是如果您的web服务器运行在您试图控制的同一台服务器上,您可以轻松地从PHP执行shell命令和脚本。


请注意您授予命令和脚本的权限。

libssh2扩展是一个PITA。难以安装和使用。我的推荐。使用phpseclib。例如:

<?php
include('Net/SSH2.php');

$ssh = new Net_SSH2('hostname', 22);
if (!$ssh->login('username', 'password')) {
    exit('Login Failed');
}

echo $ssh->exec('php -v');
?>

如何使用phpseclib执行“service bind9 restart”。。 代码是:

<?php include('Net/SSH2.php'); 
 $ssh = new Net_SSH2('xxxx');
 if (!$ssh->login('xx', 'xxx')) {
 exit('Login Failed');
 }
 echo $ssh->exec('service bind9 restart');
?>

输出:bind9:无法识别的服务


谢谢

你好,NicoPennec,谢谢您的积极回复,请您描述一下每一行。我想知道每一行的功能。如果你能做到这一点,我将非常感谢。它没有连接Nic,请参阅我提供的主机名IP地址、用户名和密码,请参阅我目前正在使用dreamweaver,我有一个本地服务器XAMPP,但我需要连接到远程服务器。我在浏览器中运行这个conde,我应该得到什么?目前,我在第2行收到了这个错误“致命错误:调用C:\xampp\htdocs\automation\test.php中未定义的函数ssh2\u connect()”,我认为您必须首先在php配置中启用“ssh2模块”。按照这些说明操作:我想我需要一些预定义的库来用php运行ssh,我也安装了它们,正如前面提到的,libssh2.dll保存在Windows->System32中,但现在的问题是如何注册.dll文件。我在comand promt中尝试使用这个regsvr32 libssh2.dll,但它不起作用,我正在使用32位。接下来要做什么?是否已将php_ssh2.dll和php_ssh2.pdb复制到php/ext文件夹?那么,你把“;”去掉了吗从这一行开始扩展:php.ini文件中的php_ssh2.dll?
任何一个u
:请使用英语!