PHP Получить пользовательский ввод без необходимости нажатия клавиши возврата

Привет, я использую PHP в режиме CLI (интерфейс командной строки)

Я хотел бы получить ключ, который пользователь вводит, и немедленно отправить его в программу без необходимости нажатия клавиши возврата (Enter Key). Так, например, мне понравилось печатать письмо, которое пользователь вводит немедленно. Поэтому, если пользователь вводит «a», он сразу же отображает «a» в командной строке. Как мне это сделать?

do { $selection = fgetc(STDIN); fwrite(STOUT, "$selection"); } while ( trim($selection) == '' ); 

Существует несколько способов отключения буферизации ввода:

http://www.mail-archive.com/php-general@lists.php.net/msg151195.html, похоже, работает:

 exec("stty -icanon min 0 time 0"); 

Некоторые другие предложения здесь: http://bugs.php.net/bug.php?id=34972, но stream_set_blocking(STDIN, false); например, не имеет никакого эффекта

Либо отключите буферизацию на stdin, либо используйте ncurses.