Symfony консоль PTY

Я пытаюсь заставить интерактивную программу работать на PHP, теперь она отлично работает в TTY, только я могу лишь контролировать STDIN / STDOUT через PTY.

Только когда я пытаюсь это сделать, у него появляются странные побочные эффекты, такие как приведенный ниже код, когда я набираю что-то в vim, я больше не могу использовать клавишу ESC, которую он печатает.

^ [

Есть также некоторые странные символы, когда он запускает эти:

^ [[2; 2R ^ [[2; 2R ^ [[> 1; 4002; 0c ^ [[> 1; 4002; 0c

$cmd = 'vim';
$proc = new \Symfony\Component\Process\Process($cmd);
$proc->setPty(true);
$proc->start();
$proc->wait(function($type, $buffer) use ($proc) {
    if (\Symfony\Component\Process\Process::ERR) {
        fwrite(STDERR, $buffer);
    }
    if (\Symfony\Component\Process\Process::OUT) {
        fwrite(STDOUT, $buffer);
    }
});

Итак, как мне заставить это работать, чтобы ключ ESC вел себя нормально и имел некоторый контроль над stdin / stdout?

0 ответов

Другие вопросы по тегам