Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
箭头键在shell中不起作用_Shell_Terminal_Laravel 5 - Fatal编程技术网

箭头键在shell中不起作用

箭头键在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

我正在开始一个Laravel5项目,并试图使用“php artisan tinker”(psy shell)运行一些实验,但我遇到了一些奇怪的情况。在tinker/psy shell中,按任意箭头键都会将字符文字打印到屏幕上,而不是执行预期的行为(向左和向右移动字符,循环最近的向上和向下命令)

Up正在输出
^[[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支持。如果您认为这需要澄清,那么您还不清楚什么?