Please note that this method doesn't exist in the Windows version of readline. That's not a PHP issue, but an upstream issue in the WinEdit/Readline library that has yet to implement it.(PHP 5 >= 5.1.0, PHP 7, PHP 8)
readline_callback_read_char — Reads a character and informs the readline callback interface when a line is received
Reads a character of user input. When a line is received, this function informs the readline callback interface installed using readline_callback_handler_install() that a line is ready for input.
This function is only available if the readline library PHP was built against supports it. It is not available on Windows.
Bu işlevin bağımsız değişkeni yoktur.
Hiçbir değer dönmez.
See readline_callback_handler_install() for an example of how to use the readline callback interface.
Please note that this method doesn't exist in the Windows version of readline. That's not a PHP issue, but an upstream issue in the WinEdit/Readline library that has yet to implement it.It seems this function is not blocking anymore:
<?php
do {
readline_callback_read_char();
$str = readline_info('line_buffer');
echo '.';
} while (strlen($str) < 10);
echo PHP_EOL . $str . PHP_EOL;
?>Note that this function is blocking if there is no character to read
If you don`t want to get blocked, you should use the trick with stream_select()
It also only reads one char per call,
So if something else in your script is blocking,
you`ve got a problem