Php 不支持完全回复
尝试使用artisan命令修补程序时出错。例如,我想添加一个用户。在我的终端我输入Php 不支持完全回复,php,terminal,laravel,Php,Terminal,Laravel,尝试使用artisan命令修补程序时出错。例如,我想添加一个用户。在我的终端我输入 $ php artisan tinker 但当我进入时,我得到一个警告说: Full REPL not supported. Falling back to simple shell. 这个错误可能是什么问题?是我的终端、php、权限还是其他什么 收到警告后,我可以键入以创建新用户,但不会将其保存到数据库中。我不确定REPL是什么。缺少一个或多个readlineposix和pcntl扩展。 您需要使用适当
$ php artisan tinker
但当我进入时,我得到一个警告说:
Full REPL not supported. Falling back to simple shell.
这个错误可能是什么问题?是我的终端、php、权限还是其他什么
收到警告后,我可以键入以创建新用户,但不会将其保存到数据库中。我不确定REPL是什么。缺少一个或多个
readline
posix
和pcntl
扩展。
您需要使用适当的配置选项编译PHP以启用它
以下是说明:
- 阅读线
- pcntl
- posix
请注意,posix函数在默认情况下处于启用状态。有时在某些发行版中禁用pcntl函数,因此您必须 查找cli的
php.ini
文件
php --ini
将其编辑为php.ini
,通常您必须这样做
sudo gedit /etc/php5/cli/php.ini
或
并注释以开头的行
; disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,...
您实际上不必对其全部进行注释,只需从该行中删除pcntl函数即可启用它们,但如果这是一个开发框,则可以启用所有功能。如果您像我一样使用debian,这应该可以: 资料来源: 将以下行添加到/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
我个人使用MAMP,而且CLI也依赖于MAMP版本的PHP。当我遇到这个问题时,我发现红线和PCNTL扩展不是MAMP PHP发行版的一部分 我写了一篇关于如何解决这个问题的文章,并提供了一个链接来下载我必须从源代码处编译的两个扩展
Artisan用作复制品。您之所以会出现错误,是因为Boris依赖于需要安装的一些扩展—请检查,因此如果您没有安装这些扩展,artisan将退回到simple shell。因此,如果你想获得完整的REPL支持,首先确保安装必要的扩展。你是在windows上吗?这就是为什么。boris是在默认情况下为laravel 4.1安装的。请参阅最后一篇文章我在使用mac os Maverici。我在Debian 7上得到了这一点。我不明白我可能会缺少哪些软件包,似乎我已经具备了它列出的所有要求。对于其他在OS X上使用Macports的人来说,我安装了
php54 pcntl
和php54 posix
,让Boris在Mavericks上工作。在Centos 6.5上,这些都是由“php cli”和“php进程”提供的在我的Ubuntu系统中,我可以直接安装它:sudo apt get install php5 readline
sudo apt-get install php5-readline