|
|
|
| Привет всем.
Почитал по поиску все сообщения, подходящие под мой вопрос, но не нашел то что мне нужно или не понял. Сам ни разу не пробовал, но теперь вот понадобилось.
Есть скрипт, он коннектится по FTP к IP-адресу некой железяки, посылает команды и получает ответ. Скрипт не мой. Автор указал возможность посылки произвольных команд следующим образом:
perl tel.pl -n host -u username -p password -c command_list
Задача- получить ответ системы, (автор сказал что отобразится в окне браузера) распарсить или направить в файл и потом открыть и парсить.
Подскажите пожалуйста:
1 как из PHP скрипта мне вызвать вышеприведенную команду
2 как получить ответ в буфер, не отображая на экране.
3 как получить вывод в файл (думаю что нужно указать вывод в конкретный файл через =>) с учетом абсолютных или относительных путей.
Спасибо ! | |
|
|
|
|
|
|
|
для: larush1
(16.06.2011 в 16:11)
| | Обычно для этого используют обратные кавычки (правда они могут быть отключены)
<?php
$dir = `perl tel.pl -n host -u username -p password -c command_list`;
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(16.06.2011 в 16:26)
| | все получилось, написал exec('perl ....',$ar1);
Спасибо !!! | |
|
|
|
|
|
|
|
для: larush2
(29.06.2011 в 15:35)
| | нашел | |
|
|
|
|
|
|
|
для: larush2
(07.11.2011 в 15:23)
| | Покопаться следует в php.ini
1. Безопасный режим отключен?
2. В директиве disable_functions ничего не прописано? | |
|
|
|
|
|
|
|
для: cheops
(07.11.2011 в 15:47)
| | Показалось что нашел, на самом деле нет... Повторю суть вопроса
1. После восстановления системы, перестал работать скрипт, посылающий запросы по ip-адресу и принимающий ответ.
2. Вызов скрипта из сеанса MSDOS с указанием передаваемых параметров проходит успешно.
3. Вызов скрипта через функцию exec возвращает пустой массив
4. Вызов скрипта через обратные кавычки не возвращает ничего (print_r($ar1))
НО:
Если по пункту 3 и 4 я вызываю тестовый скрипт в котором только print('Hellow'), то в массив что-то да возвращается, правда по-разному, но не в этом суть. Уточняю- в параметрах и их последовательности не ошибся.
Получается что РНР не дожидается ответа или что-то иное ? Хотя при запуске из MSDOS, скрипт возвращает все данные за пару-тройку секунд.
По предыдущему совету
- безопасный режим отключен
- кавычки отключены
- в disable_functions ничего не прописано | |
|
|
|
|
|
|
|
для: larush2
(08.11.2011 в 09:05)
| | В скрипте обнаружил вызов библиотеки NET... разбираюсь, так думаю что стоял у меня старый денвер 5.2 (там больше библиотек), а сейчас новый | |
|
|
|
|
|
|
|
для: larush2
(08.11.2011 в 09:30)
| | Все, восстановил работоспособность. Оказывается, до того как слетела система, у меня в папке с библиотеками PERL лежала вызываемая из скрипта самописная библиотека. Положил, заработало. Но непонятно одно- почему из сеанса MSDOS работало а из под РНР нет. Хотя пока мне не до этого :-) Спасибо Cheops`y что не бросает на произвол судьбы :-) | |
|
|
|