【问题标题】:Laravel SSH - push output to an arrayLaravel SSH - 将输出推送到数组
【发布时间】:2016-05-25 12:03:57
【问题描述】:

我有以下几点:

$files = [];
$directories = [];
\SSH::run($commands, function($line)
        {
            $data = explode('-', $line.PHP_EOL);
            if ($data[0] == 'file') {
                array_push($files, $data[1]);
            } else {
                array_push($directories, $data[1]);
            }
        });

但是我在 ssh 命令运行时无法访问这两个数组,我该怎么办?

【问题讨论】:

    标签: php laravel-5 closures


    【解决方案1】:

    您需要使用use 关键字以这种方式将这些变量放入闭包中:

    \SSH::run($commands, function($line) use (&$files, &$directories)
    

    而不是

    \SSH::run($commands, function($line)
    

    【讨论】:

    • 谢谢,这行得通,但是现在我有一个问题,即只有$line.PHP_EOL 的第一个值被捕获,我如何编辑它以在 ssh 命令仍有输出时运行?
    猜你喜欢
    • 2018-09-23
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 1970-01-01
    • 2021-08-06
    • 2020-10-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多