La extensión readline para php no está en Debian (ni en Ubuntu) por problemas de licencia. Entre tantos bugreports, blogposts y opiniones varias he encontrado esta frase: «Licensing issues. Readline is GPL, and we can't link with GPL libraries without violating their license.»
Es decir, la licencia de PHP (la PHP License para más señas :P) no es compatible con la GPL y en consecuencia no se puede empaquetar php --with-readline. Anteriormente PHP licenciaba de manera dual (PHP License + GPL) y por lo tanto readline estaba ahí, pero PHP dejó de licenciar GPL desde la versión 4.algo.
Hay dos o tres opciones para poder usar la funcionalidad que aporta readline:
- compilarse php --with-readline uno mismo y convivir con la ilegalidad (!!!)
- usar la alternativa a readline: libedit (o editline), una implementación con licencia BSD y API compatible con readline (esto da para otro capítulo ([homepage], [recopilación de info sobre libedit/editline], [libedit @sf.net] (a la deriva), [paquete debian] (de 2004), [un fork]... además el php de Ubuntu viene compilado contra libedit --no exento de bugs: [1], [2])
- usar los paquetes de dotdeb.org, que traen php con soporte para readline... eso dicen, pero ¿¿esto no viola la licencia GPL?? ¿quizas es libedit? ::: Instrucciones para usar los repos de dotdeb.org, Hilo donde dicen que trae readline
Como mi objetivo no es soltar una parrafada sobre incompatibilidad de licencias, readline y sus alternativas me instalo los paquetes de dotdeb.org y sigo mi camino.
Ah, ¿que qué es readline? pues una librería para trabajar en la línea de comandos como $deity manda: con history, cursores arriba y abajo, autocompletar y tal y tal.
¿Para qué la quiero? para usar cosas como phpa y para mis experimentos con el drush interactivo.
NOTA: He probado tanto en un ubuntu-con-libedit como en un debian-con-paquetes-dotdeb y ambos dicen incluir "readline" (php -i |grep readline), aunque sabemos que el paquete ubuntu trae realmente libedit. Además el bug #322214 que reportan en Ubuntu es reproducible en el Ubuntu-con-libedit pero no en el Debian-con-readline.