0
我在Laravel 5.3从封闭
在我的代码中使用盖子与的LaravelCollective SSH但我surpise是当任何命令尝试返回退出返回正确的阵列,获得截断结果。
$exit = array();
SSH::run($cmd, function ($line) use (&$exit) {
echo $line.PHP_EOL;
$exit[] = $line;
});
dd($exit) // dd it's a var_dump + exit helper on Laravel
嗯,这回代码的第一部分(回声$ line.PHP_EOL)正确,例如下面
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.0
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.0/.appdata
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.0/.autorespond
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.0/.cpanel
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.0/.cphorde
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.0/.cpremote
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.0/.elinks
...
而导致错误的结果对阵列。 4
array:5 [
0 => """
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home\n
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.0\n
/Volumes/MACBAC
...
"""
4 => """
UP/cprsync_remote/hq/daily/users/tamainut/home/daily.8/tmp\n
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.8/updates\n
/Volumes/MACBACKUP/cprsync_remote/hq/daily/users/tamainut/home/daily.9\n
/Volumes/MACBACKUP/cprsync_r
我尝试了几个选项,但任何工作都很好。
我不明白为什么我看到完美的回波线,但不能在数组上插入更多的工作。
编辑一些评论后。
我看到这个问题,它关闭,得到SSH命令的一个line
如何字符串与“\ n”。获取字符串截断的最大大小后,运行一个新的闭包迭代。这是问题。
别你的意思是做'dd($ exit);'最后看到你存储的所有行的完整数组? – jszobody
我只使用dd来查看$ exit上的值。 – abkrim
我意识到这一点。但是你的数组是'$ exit'; – jszobody