尝试使用artisan命令修补程序时出错。例如,我想添加一个用户。在我的终端我输入
$ php artisan tinker
但是当我输入它时,我会收到警告:
Full REPL not supported. Falling back to simple shell.
这个错误会出现什么问题?是我的终端,php,权限还是别的什么?
收到警告后,我可以键入以创建新用户,但不会将其保存到数据库中。我不确定REPL是什么。
答案 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
posix
和pcntl
个扩展程序中的一个或多个。
您需要使用适当的配置选项编译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/