我正在使用 Laravel v.6.11。我想 ping 一个 IP:端口来检查其状态是在线还是离线。为此,我使用karlmonson/laravel-ping包。每当我 ping 它返回错误状态时,有时服务器处于开启状态并且返回 false,反之亦然。
我的控制器
<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Ping;
class PlexServerController extends Controller
{
public function serverStatus(Request $request)
{
$ip = $request->ip;
$port = $request->port;
$health = Ping::check($ip.':'.$port);
if($health == 200){
return $json = json_encode(['status' => '1','health' => $health]);
} else {
return $json = json_encode(['status' => '2','health' => $health]);
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我希望有人能帮助我摆脱这个问题。我还使用laravelcollective/remote来运行 SSH 命令。太酷了,它可以运行所有命令。任何人都可以帮助我解决检查IP是否在线或离线并返回带有状态代码的响应的问题。