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 — Lee un carácter e informa a la interfaz de devolución de llamada readline
Lee un carácter de la entrada del usuario. Cuando se recibe una línea, la función informa a la interfaz de devolución de llamada readline instalada mediante readline_callback_handler_install() de que una línea está lista para ser ingresada.
Esta función solo está disponible si la biblioteca readline con la que se compiló PHP la admite. No está disponible en Windows.
Esta función no contiene ningún parámetro.
No se retorna ningún valor.
Ver la función readline_callback_handler_install() para un ejemplo sobre el uso de la interfaz de devolución de llamada readline.
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