![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
cccr85 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 13.7.2010 Репутация: нет Всего: 2 |
Вобщем суть в следующем.
Есть консольная программа, она требует ввода параметров постепенно. Причем нужно точно знать что она пишет в ответ. Ты скажешь это просто, юзай proc_open. Ок. Я его и юзаю. Но только проблема в том, что когда я читаю то что выдала прога, чтение зависает...
На строчке $out .= fgets($pipes[1], 1024); скрипт зависает намертво, а почему? Потому что прога отдает свой вывод, и дальше ждет ввода, а мы пытаемся читать из нее... Я отправился на php.net и там прочитал в одном из последних вариантов, как человек так работал с клиентом eDonkey. Так вот, он по 2 символа читал отдачу, и в случае когда получал "> " прекращал цикл. Мне к сожелению это не подходит, так как прога иногда в выводе возращает обращение к самой себе. Получается что в выводе встретитсья 2 раза "> " и вот как быть, я не знаю.... Есть ли какой нибудь timeout для fgetss? Или как решить проблему? |
|||
|
||||
Pfailed |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 19.7.2009 Репутация: нет Всего: 39 |
stream_set_timeout() ?
Добавлено через 3 минуты и 17 секунд Кстати, зачем вы делаете чтение из потока неблокируемым? |
|||
|
||||
cccr85 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 43 Регистрация: 13.7.2010 Репутация: нет Всего: 2 |
stream_set_timeout()
в винде это не работает :( Добавлено через 1 минуту и 24 секунды Кстати, зачем вы делаете чтение из потока не блокируемым? Я игрался с параметрами, пробовал так и сяк. В общем этот артефакт остался от попыток. Без него тоже не работает, это косяк винды. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |