Mam projekt Laravel 4.2 hostowany na jednym serwerze (Serwer A) i muszę mieć możliwość przesyłania plików z tej aplikacji, a pliki powinny być przesyłane do serwera Windows, który znajduje się na serwerze. ta sama sieć lokalna (serwer B).Laravel SSH na Windows Server
Zainstalowałem OpenSSH na serwerze Windows i uruchomiłem usługę. Mogę potwierdzić, że to działa, ponieważ mogę pomyślnie połączyć się z terminalem na serwerze A.
W projekcie Laravel utworzyłem połączenie w pliku app/config/remote.php.
Ale gdy próbuję uruchomić polecenie w projekcie laravel na serwerze za pomocą następującego kodu:
SSH::into('ServerB')->run(['IF EXIST folder (echo YES) ELSE (echo NO)'], function($line){
echo $line.PHP_EOL;
});
pojawia się następujący błąd:
unpack(): Type N: not enough input, need 4, have 1
jestem Odbieranie tego błędu dla każdego polecenia, które próbuję uruchomić na serwerze B. O dziwo, jeśli spróbuję użyć tego samego kodu, ale wskażę go serwerowi Linux, kod działa dobrze. Mogłoby to prowadzić do przekonania, że serwer SSH jest prawdopodobnie nieprawidłowo skonfigurowany na serwerze B, ale fakt, że mogę połączyć się przez SSH z serwerem B z serwera A w oknie terminala myli całą sprawę!
Czy ktoś wie, jaki jest błąd, który otrzymuję?
Na jakiej wersji PHP hostowany jest Twój projekt Laravel 4.2? – revo
Nie znam Laravel bardzo dobrze, ale znalazłem podobny problem dotyczący phpeclib, który został naprawiony w zeszłym roku: https://github.com/terrafrost/phpseclib/commit/684d6eed0e2fc3045c9169685ce135a14474abef – andrucz
opublikuj swój dziennik 'echo $ ssh-> getLog(); 'sprawdź także swojego hosta i zaporę ogniową – Ghayel