я использую на моем коде замыкание с SSH из LaravelCollective на Laravel 5.3Возвращайтесь правильным массивом от закрытия
Но мой 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
Я пробую несколько вариантов, но все работает нормально.
Я не понимаю, почему я вижу идеальные эхо-строки, но не могу вставить в массив для работы более позднее.
EDIT после некоторых комментариев.
Я вижу, что проблема заключается в закрытии, получите команду SSH line
, как строка с "\ n". После получения максимального размера для обрезания строки и запуска новой итерации закрытия. Это проблема.
Дон» t вы хотите сделать 'dd ($ exit);' в конце, чтобы увидеть полный массив всех строк, которые вы сохранили? – jszobody
Я использую только dd для просмотра значений на $ exit. – abkrim
Я понимаю это. Но ваш массив '$ exit'; – jszobody