Я пытаюсь создать страницу PHP, на которую я могу пойти, чтобы получить информацию от переключателей cisco, которые у нас есть. Моя единственная текущая опция для чтения данных из них - использовать clogin проститутки.Запуск Clogin через PHP exec()
Когда я бегу:
sudo -u www-data /usr/lib/rancid/bin/clogin -f /home/www-data/.cloginrc -c 'show run int fa 0/1' as-switch-123 2>&1
он работает и возвращает информацию о портах 0/1.
Однако, когда я запускаю следующее:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
$mainCommand = "/usr/lib/rancid/bin/clogin -f /home/www-data/.cloginrc -c 'show run int fa 0/1' as-switch-123 2>&1";
$outputArray = array();
echo exec($mainCommand,$outputArray,$returnCode);
echo '<br /><br />';
var_dump($outputArray);
echo '<br /><br />';
var_dump($returnCode);
?>
я получаю доход от $ outputArray показано ниже:
array(5) {
[0]=> string(16) "no such variable"
[1]=> string(31) " (read trace on "env(HOME)")"
[2]=> string(23) " invoked from within"
[3]=> string(40) ""set password_file $env(HOME)/.cloginrc""
[4]=> string(47) " (file "/usr/lib/rancid/bin/clogin" line 66)"
}
Кто-нибудь знает, почему его не дает мне выходной сигнал такой же, как и при запустить его из sudo?
Новый $ mainCommand имел ту же ошибку, что и раньше. Также при запуске команды sudo при условии, что он все еще работал, но сначала дал мне следующую ошибку sudo: use: sudo -h | -K | -k | -V Использование: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user] Использование: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [команда] Использование: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [- h-host] [-p prompt] [-u user] [VAR = значение] [-i | -s] [] использование: sudo -e [-AknS] [-r role] [-t type] [ -C num] [-g group] [-h host] [-p prompt] [-u user] file ... –
xloner12