我正在开始一个Laravel 5项目,并试图使用“php artisan tinker”(psy shell)运行一些实验,但我遇到了一些奇怪的事情。在tinker/psy shell中,按下任何一个箭头键都是将字符文字打印到屏幕上,而不是执行预期的行为(左右移动字符,上下循环最近的命令)。
向上是输出^[[A
。向下是输出^[[B
。右边是输出^[[C
。左为输出^[[D
。
这可能是我终端的问题,而不是Laravel的bug。我在运行php -a
时也遇到了同样的错误行为。
我在OSX上运行终端,使用xterm仿真。
4条答案
按热度按时间gg0vcinb1#
PHP REPL没有实现readline的行编辑和历史记录功能。我不知道是否有一个PHP模块实现了它,但你可以这样做:
字符串
您可能需要为您的操作系统安装rlwrap。
798qvoo82#
这是由于PHP没有使用readline支持。您可以在使用
--with-readline
参数编译和构建PHP时启用此功能。http://php.net/manual/en/features.commandline.interactive.php
xeufq47z3#
我的操作系统:centos我解决了这个问题:
字符串
snz8szmq4#
在我的例子中,我需要安装
php7-readline
字符串