Я использую proc_open для запуска сеанса telnet, подключающегося к серверной программе. Соединение в порядке, но когда я получаю ответ, я не могу сохранить всю строку в файле, так как она обрезается после некоторых символов.
Вот мой фрагмент:
$descriptorSpec = array( 0 => array( "pipe", "r" ),
1.=> array( "file", $logPath, "w" ) );
$process = proc_open( "telnet localhost 2323", $descriptorSpec, $pipes );
fwrite( $pipes[0], "helo" . PHP_EOL );
fwrite( $pipes[0], "quit" . PHP_EOL );
Я также пробовал использовать netcat и exec:
exec( "echo \"helo quit\" | netcat localhost 2323 >> $logPath" );
но у меня был такой же результат.
Если я запускаю команду telnet/netcat из консоли, я получаю всю строку на стандартный вывод, но если я пытаюсь перенаправить ее в другой файл, я получаю ту же проблему, что и выше.