У меня есть простой сценарий, который я пытаюсь запустить:
<?php print exec('whoami'); $output2 = exec('ssh someotherhost ls -l /path/to/dir',$output); print_r($output); print_r($output2); print $output2; ?>
Цель этого скрипта – запустить команду на другом сетевом сервере. Если я запустил ssh
выше команду ssh
(заменив фиктивные данные реальными данными) из командной строки: ssh someotherhost ls -l /path/to/dir
Он выводит правильные строки ls. Однако, когда я запускаю вышеуказанный скрипт из того же каталога с той же командой, он не выводится ни в одну из трех нижних строк печати. Однако exec()
с whoami
наверху распечатывается, как ожидалось. Поэтому мой вопрос: почему первая команда работает, а не вторая?
Обратите внимание, что два сетевых сервера находятся во внутренней сети и настроены с помощью пар ключей ssh. Команда работает, только не из php.
Спасибо за вашу помощь.