У меня есть проект Laravel 4.2, размещенный на одном сервере (сервер A), и мне нужно иметь возможность загружать файлы из этого приложения, и файлы будут переданы на сервер Windows, который находится на той же локальной сети (сервер B).Laravel SSH на сервере Windows
Я установил OpenSSH на сервер Windows и запустил службу. Я могу подтвердить, что это работает, потому что я могу успешно подключиться в терминале на сервере A.
В проекте Laravel я создал соединение в файле app/config/remote.php.
Но когда я пытаюсь запустить команду в проекте Laravel на сервере , используя следующий код:
SSH::into('ServerB')->run(['IF EXIST folder (echo YES) ELSE (echo NO)'], function($line){
echo $line.PHP_EOL;
});
Я получаю следующее сообщение об ошибке:
unpack(): Type N: not enough input, need 4, have 1
Я получая эту ошибку для каждой команды, которую я пытаюсь запустить на сервере B. Как ни странно, если я попытаюсь использовать тот же код, но укажу его на сервер Linux, код будет работать отлично. Это заставило бы меня поверить, что сервер SSH, вероятно, неправильно настроен на сервере B, но тот факт, что я могу подключиться через SSH к серверу B с сервера A в окне терминала смущает все дело!
Кто-нибудь знает значение ошибки, которую я получаю?
На какой версии PHP находится ваш проект Laravel 4.2? – revo
Я не очень хорошо знаю Laravel, но я нашел аналогичный отчет о проблеме phpeclib, который был исправлен в прошлом году: https://github.com/terrafrost/phpseclib/commit/684d6eed0e2fc3045c9169685ce135a14474abef – andrucz
опубликовать свой журнал 'echo $ ssh-> getLog(); 'также проверьте свой хост и брандмауэр – Ghayel