箭头键在shell中不起作用
我正在开始一个Laravel5项目,并试图使用“php artisan tinker”(psy shell)运行一些实验,但我遇到了一些奇怪的情况。在tinker/psy shell中,按任意箭头键都会将字符文字打印到屏幕上,而不是执行预期的行为(向左和向右移动字符,循环最近的向上和向下命令) Up正在输出箭头键在shell中不起作用,shell,terminal,laravel-5,Shell,Terminal,Laravel 5,我正在开始一个Laravel5项目,并试图使用“php artisan tinker”(psy shell)运行一些实验,但我遇到了一些奇怪的情况。在tinker/psy shell中,按任意箭头键都会将字符文字打印到屏幕上,而不是执行预期的行为(向左和向右移动字符,循环最近的向上和向下命令) Up正在输出^[[A。 Down正在输出^[[B。 右侧正在输出^[[C。 左边是输出^[[D 这可能是我的终端的问题,而不是Laravel bug。我在运行php-a时也遇到了同样的bug行为 我正在O
^[[A
。
Down正在输出^[[B
。
右侧正在输出^[[C
。
左边是输出^[[D
这可能是我的终端的问题,而不是Laravel bug。我在运行php-a
时也遇到了同样的bug行为
我正在OSX上运行terminal,带有xterm仿真。PHP REPL没有实现readline的行编辑和历史记录功能。我不知道是否有PHP模块实现了它,但您可以:
rlwrap php artisan tinker
您可能必须为您的操作系统安装rlwrap。这是因为PHP没有使用readline支持构建。您可以在使用
--with readline
参数编译和构建PHP时启用此功能
在我的情况下,我需要安装
php7 readline
sudo zypper in php7-readline
[sudo] password for root:
Loading repository data...
Reading installed packages...
Resolving package dependencies...
The following NEW package is going to be installed:
php7-readline
1 new package to install.
Overall download size: 64.0 KiB. Already cached: 0 B. After the operation, additional 30.9 KiB will be used.
Continue? [y/n/...? shows all options] (y):
Retrieving package php7-readline-7.2.1-1.1.x86_64 (1/1), 64.0 KiB ( 30.9 KiB unpacked)
Retrieving: php7-readline-7.2.1-1.1.x86_64.rpm ......................................................................................[done (8.4 KiB/s)]
Checking for file conflicts: ....................................................................................................................[done]
(1/1) Installing: php7-readline-7.2.1-1.1.x86_64 ................................................................................................[done]
我的操作系统:centos
我通过以下方式解决了这个问题:
sudo yum install rlwrap
alias tinker='rlwrap php artisan tinker'
谢谢!这似乎是我的问题。虽然rlwrap太简单了,但似乎有一个readline php库:。它可以工作!我已经安装了rlwrap并开始修补
rlwrap php artisan Tinker
。我现在可以使用我的方向箭头了。谢谢你的提示!对于那些想知道如何在OSX上轻松安装rlwrap的人,只需安装Homebrew在其主页中粘贴一行程序()然后在控制台中键入:brew install rlwrap
这并没有提供问题的答案。一旦你有足够的资源,你就可以;相反,-Hi Mike。这个解决方案正是我在Linux和OSX中修复箭头和退格问题的方法。链接是指向支持我答案的文档。问题不是psysh、 PHP中缺少readline支持。如果您认为这需要澄清,那么您还不清楚什么?