【问题标题】:connect to a server with PHP and see if that server can ping another使用 PHP 连接到服务器并查看该服务器是否可以 ping 另一台服务器
【发布时间】:2013-03-08 13:54:23
【问题描述】:

即使这些是我的服务器,我个人也不知道如何做到这一点。但我想知道我的服务器是否可以访问外部站点——例如 ping 一个通用网站——具有传出通信。也就是说,我想在一台服务器上执行一个 PHP 脚本,连接到我的另一台服务器,并测试第二台服务器是否可以 ping 一个网站,例如。所以我知道如何在我的脚本正在执行的服务器上使用 PHP 来使用 fopensocket ping 一个网站。我只是不知道如何设置它来测试另一个服务器的 pingability。我的意思是我有凭据,但唯一的方法是在每台服务器上都有我的脚本,然后访问脚本并执行它们。那不是我想要的。我想从一个/外部服务器执行此操作,并将我要测试的服务器的 ip/port/uid/pwd 提供给我的脚本。

【问题讨论】:

  • 构建一个 RESTful API 并使用 OAuth 保护它
  • 为什么要使用 PHP?只需ssh server "ping ip"
  • 因为我的仪表板是用 PHP 创建的。这不是那个问题的重复。该问题询问您如何 ping 另一个服务器/端口。我问你如何在另一个服务器/端口上测试 ping 到第三个位置,比如网站。我在服务器 A 上。我想测试服务器 B 在服务器 C 上 ping 网站的能力。
  • 好的,所以只需通过 ssh2_exec() 运行 ping。

标签: php network-programming ping


【解决方案1】:

简单的 API 如下所示:

服务器 1:

// get response from server2
$response = file_get_contents('http://www.server2.com/api.php?method=ping&ip=IP&port=PORT&uid=UID&pwd=PWD');
// do json_decode() if response is json string

SERVER2 (api.php):

// respond to API call
if (isset($_GET['method']) && $_GET['method'] == 'ping') {
    // get other params and do your ping function
    echo $pingresult; // perhaps a json encoded array
    exit;
}

没有安全措施,因此您可以发送 API 密码或使用 OAuth 或 HMAC 进行操作

【讨论】:

猜你喜欢
  • 2023-03-23
  • 1970-01-01
  • 2017-12-17
  • 1970-01-01
  • 2023-04-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-02
相关资源
最近更新 更多