php - PHP - 访问服务器时生成屏幕警报
问题描述
我在下面的 Laravel 控制器上有这个功能,它可以访问服务器来执行命令。如果通知的 IP 错误,我正在尝试调整异常,并在屏幕上发送由于 IP、用户或密码错误而无法连接的警报。
public function accessServer()
{
$ip = '192.168.34.13';
if ($connection = ssh2_connect($ip, 22)) {
ssh2_auth_password($connection, 'user', 'password');
$stream = ssh2_exec($connection, "df -h");
echo "OK";
} else {
echo "Error";
}
}
上述函数返回以下错误:
ErrorException
ssh2_connect(): Unable to connect to 192.168.34.13 on port 22
解决方案
您可以使用 try/catch 方法
public function accessServer()
{
$ip = '192.168.34.13';
try {
$connection = ssh2_connect($ip, 22);
ssh2_auth_password($connection, 'user', 'password');
} catch (\Exception $e) {
echo "Error";
return;
}
$stream = ssh2_exec($connection, "df -h");
echo "OK";
}
推荐阅读
- sql-server - 在 SSRS 中从两个不同 SQL Server 表中的上次购买生成派生表,然后加入第三个表
- java - 来自java的Google Recaptcha因连接超时而失败
- combinations - 如何获得字符串及其所有子字符串的所有可能排列?
- azure - 如何使用 YAML 配置文件在 VSTS 中的 VS2017 代理中启动 Azure 存储模拟器
- java - 如何在 SQLiteConstraintException 上捕获列名唯一约束失败
- android - 在 Android 8.0 及更高版本中监控显着的电池变化?
- mysql - 将计算的 COUNT 列从一个视图添加到另一个视图
- c# - 使用 TextWriter 时 Serilog 未按预期记录
- node.js - 验证 package.json 依赖值中的 semver 版本
- java - 无法单击硒中的十字按钮