Мне нужно автоматизировать несколько функций наших систем, у которых, к сожалению, нет API, только команды telnet.
Итак, я нашел это: http://www.geckotribe.com/php-telnet/ который по сути является классом Telnet для PHP.
Сначала у меня были странные проблемы, так как он слишком быстро пытался войти в систему, поэтому я добавил дополнительный сон (2) между соединением и вводом имени пользователя и пароля.
Теперь к проблеме: кажется, что после выполнения одной команды, которая выводит только одну строку, следующая (которая является многострочным выводом) зависает в системе на время от 2 минут 15 секунд (в режиме отладки eclipse) до 1 мин. 20 секунд при загрузке браузера (только после того, как я установил тайм-аут на 180 секунд...).
Строка, в которой это происходит: $r.=fread($this->fp,1000); в функции DoCommand() класса.
Вот ссылка pastebin на скрипт, который я пытаюсь выполнить, а также результат, который я в конечном итоге получаю (с модификацией для защиты информации..)
код: http://pastebin.com/TXEHWa05
Вывод: http://pastebin.com/mVFm5HM2
Любые идеи, как отладить причину этого? до сих пор я никогда не нуждался даже в отладчике в своих проектах :( В идеале я хотел бы закончить выполнение 2-3 команд по телнету за 5 секунд максимум.. не больше. (потому что как только мы разберемся с этим, я добавлю функциональность отключить пользователя и т.д..).
Я надеюсь, что кто-то более опытный в использовании PHP с использованием fsockopen может помочь :)