Pregunta

Estoy tratando de ejecutar PHP en modo interactivo desde la ventana del terminal y cuando ejecuto el comando

  php -a

Dice "Modo interactivo habilitado", pero no me muestra el mensaje "PHP->" que debería. Tengo que presionar el control z para salir del modo interactivo, pero puedo ejecutar cualquier comando mientras el modo interactivo está "habilitado"

Alguien sabe cómo arreglar esto

¿Fue útil?

Solución

La carcasa interactiva PHP requiere que GNU Readline o Liedit se compilen estáticamente en el binario PHP. Muchas distribuciones solo proporcionan bibliotecas compartidas que contienen solo la extensión de línea de lectura.

Si compilas php tú mismo hazte

./configure --with-readline

o

./configure --with-libedit

(Tenga en cuenta que usted, probablemente, no redistribuya los binarios de PHP vinculados a la línea de lectura debido a las incompatibilidades entre GPL y la licencia PHP, tendrá que usar Libedit entonces, pero dudo que desee redistribuir el PHP de todos modos. El uso está ciertamente bien. Esto no importa para sus aplicaciones PHP-base. Pero esta es una de las razones por las cuales esto no funciona para la mayoría de las distribuciones ...)

EDITAR: Acabo de presentar un error PHP para habilitar el modo Readline con una compilación compartida, tal vez encuentre tiempo para implementarlo: http://bugs.php.net/bug.php?id=53878

Otros consejos

Hay una solución (emulador) que funciona bastante bien para mí:

http://www.fischerlaender.net/php/phpa-norl

Hay otra excelente solución (creada por Facebook por cierto) phpsh

En sus propias palabras:

PHPSH es un shell interactivo para PHP que presenta el historial de lectura, finalización de pestañas, acceso rápido a la documentación. Fue desarrollado en Facebook e irónicamente, está escrito principalmente en Python. Es de código abierto y lanzado bajo una licencia BSD modificada.

Lo estoy usando por un tiempo y es realmente bueno, en muchos sentidos incluso mejor que solo PHP -A

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top