You can open /dev/tty on unix systems or \con in windows, with ob_implicit_flush(true) to write output unbuffered. Works like a charm :-)-------------------------------#!/usr/local/bin/php -q<?phpset_time_limit(0);@ob_end_flush();ob_implicit_flush(true);class prompt { var $tty; function prompt() { if (substr(PHP_OS, 0, 3) == "WIN") { $this->tty = fOpen("\con", "rb"); } else { if (!($this->tty = fOpen("/dev/tty", "r"))) { $this->tty = fOpen("php://stdin", "r"); } } } function get($string, $length = 1024) { echo $string; $result = trim(fGets($this->tty, $length)); echo "\n"; return $result; }}echo "Enter something or 'exit' to quit\n";do { $cmdline = new prompt(); $buffer = $cmdline->get("Something: "); echo "You said: $buffer\n";} while ($buffer !== "exit");echo "Goodbye\n";?>