如何捕获包含子字符串的 SSH 命令输出? - Laravel 5.8
How to catch SSH command output contain sub string ? - Laravel 5.8
我正在尝试捕获命令的输出并相应地抛出 error/success。
$resultFromServer = [];
SSH::run($command, function($line)
{
echo $line.PHP_EOL;
if($line!= null) {
array_push($resultFromServer, $line); // crash
}
});
dd($resultFromServer);
查看我的输出
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /root/.kube/config Error: open test.yaml: no such file or directory
[]
我正在尝试查找此 字符串 Error:
以及它右边的任何内容,我将在我的警报消息中显示。
Error: open test.yaml: no such file or directory
我在努力
将每一行存储到一个数组中并循环检查字符串是否包含,但我什至不能将它存储到数组中。
我一直遇到崩溃 - if - 我取消注释该行
如何防止崩溃?我需要添加一些 sleep() 吗?
因为SSH::run使用了闭包,所以$resultFromServer
不存在于子函数的范围内。您需要使用 use
关键字将其传递,并将其作为参考传递,因为您是在内部对其进行修改:
SSH::run($command, function($line) use (&$resultFromServer)
{
echo $line.PHP_EOL;
if($line!= null) {
array_push($resultFromServer, $line); // crash
}
});
我正在尝试捕获命令的输出并相应地抛出 error/success。
$resultFromServer = [];
SSH::run($command, function($line)
{
echo $line.PHP_EOL;
if($line!= null) {
array_push($resultFromServer, $line); // crash
}
});
dd($resultFromServer);
查看我的输出
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /root/.kube/config Error: open test.yaml: no such file or directory
[]
我正在尝试查找此 字符串 Error:
以及它右边的任何内容,我将在我的警报消息中显示。
Error: open test.yaml: no such file or directory
我在努力
将每一行存储到一个数组中并循环检查字符串是否包含,但我什至不能将它存储到数组中。
我一直遇到崩溃 - if - 我取消注释该行
如何防止崩溃?我需要添加一些 sleep() 吗?
因为SSH::run使用了闭包,所以$resultFromServer
不存在于子函数的范围内。您需要使用 use
关键字将其传递,并将其作为参考传递,因为您是在内部对其进行修改:
SSH::run($command, function($line) use (&$resultFromServer)
{
echo $line.PHP_EOL;
if($line!= null) {
array_push($resultFromServer, $line); // crash
}
});