Я использую http://phpseclib.sourceforge.net/, чтобы установить SSH-соединение с моим сервером, затем выполняю команду SCP для передачи на удаленный сервер. Метод exec() библиотеки возвращает строку (выглядит как стандартный вывод команды SCP) вместо возвращаемого значения команды (например, 0 для обозначения успеха).

Я не хочу делать какое-то сравнение строк, чтобы определить, была ли передача SCP успешной или нет (сейчас я получаю "stdin: is not tty"). Можно ли использовать команду SSH, чтобы определить, существует ли файл на другом сервере? Или какие-либо предложения о том, как еще я могу проверить, если файл передан?

1 ответ1

0

enablyPTY() должен исправить стандартный ввод: это не tty. Вы также можете подавить stderr в phpseclib с помощью enableQuietMode() . getExitStatus() вернет статус выхода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .