如何使用PHP代码登录到Linux服务器



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

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

https://php.net/manual/en/book.ssh2.php

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

$connection = ssh2_connect("主机名", 22);

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

ssh2_auth_password($connection,"用户名","密码");

然后执行命令:

在远程计算机上执行 shell 命令(例如。'php -v' 知道 PHP 版本)

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

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

stream_set_blocking($stream,真);

$stream_out = ssh2_fetch_stream($stream, SSH2_STREAM_STDIO);

在本地计算机中打印结果

echo stream_get_contents($stream_out);

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

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

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

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

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

如何使用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');
?>

输出:绑定9:无法识别的服务

谢谢

相关内容

  • 没有找到相关文章

最新更新