不支持完整REPL

时间:2013-12-31 18:09:24

标签: php terminal laravel

尝试使用artisan命令修补程序时出错。例如,我想添加一个用户。在我的终端我输入

$ php artisan tinker 

但是当我输入它时,我会收到警告:

Full REPL not supported. Falling back to simple shell. 

这个错误会出现什么问题?是我的终端,php,权限还是别的什么?

收到警告后,我可以键入以创建新用户,但不会将其保存到数据库中。我不确定REPL是什么。

4 个答案:

答案 0 :(得分:5)

如果你像我这样的debian,这应该有效:

来源:http://pkgs.org/debian-wheezy/dotdeb-i386/php5-readline_5.4.28-1~dotdeb.1_i386.deb.html

将以下行添加到/etc/apt/sources.list:

deb http://packages.dotdeb.org/ wheezy all

安装存储库的GPG密钥:

wget http://www.dotdeb.org/dotdeb.gpg
sudo apt-key add dotdeb.gpg

更新包索引:

sudo apt-get update

安装php5-readline deb软件包:

sudo apt-get install php5-readline

答案 1 :(得分:1)

缺少readline posixpcntl个扩展程序中的一个或多个。 您需要使用适当的配置选项编译PHP以启用它。

以下是说明:

请注意,默认情况下会启用posix功能。

答案 2 :(得分:1)

有时在某些发行版中禁用了pcntl功能,所以你必须

找到您的cli的php.ini文件

php --ini

将其编辑为php.ini,通常您必须

sudo gedit /etc/php5/cli/php.ini

sudo vim /etc/php5/cli/php.ini

并注释以

开头的行
; disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,...

你真的不必全部评论,你可以通过从那一行删除它们来启用pcntl函数,但是如果这是一个开发框,你就可以启用所有内容。

答案 3 :(得分:1)

我个人使用MAMP,并且还依赖于MAMP的PHP版本。当我遇到这个问题时,我发现Redline和PCNTL扩展不是MAMP PHP发行版的一部分。

我写了一篇关于如何修复问题的文章,以及一个下载我必须从源代码编译的两个扩展的链接。

http://adampatterson.ca/blog/2014/10/laravel-tinker-boris-mamp-os-x-yosemite/