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