El intérprete de comandos interactivo PHP requiere que readline de GNU o libedit se compila estáticamente en el binario de PHP. Muchas distribuciones solo proporcionan bibliotecas compartidas que solo contienen la extensión readline.
Si compila PHP hágalo usted mismo
./configure --with-readline
o
./configure --with-libedit
(tenga en cuenta que, probablemente, no puede redistribuir binarios de PHP vinculados a readline debido a incompatibilidades entre GPL y la licencia de PHP, tendrías que usar libedit entonces, pero dudo que quieras redistribuir PHP de todos modos. El uso está ciertamente bien. Esto no importa para tus aplicaciones basadas en PHP. Pero esta es una de las razones por las que esto no funciona para la mayoría de las distribuciones ...)
Edit: acaba de presentar un error de PHP para habilitar el modo de readline con una construcción compartida, también, a lo mejor encuentro tiempo para ponerlo en práctica: http://bugs.php.net/bug.php?id=53878
¿hay alguna manera de determinar si los están instalados o no en caso de que se enumeran en ¿información de php? – mcgrailm
Si está instalado, phpinfo listará readline. También puedes marcar 'php -m'. Para ver si estaba estáticamente, intente ejecutar 'php -nm'. Si aparece "readline" debería funcionar. – johannes
[Shell interactivo frente a modo interactivo] (http://www.php.net/manual/en/features.commandline.interactive.php#108006) – sam