这个问题出现的背景是5.6版本编译好了以后使用出现的, 随后查了一下这个问题 找到一个靠谱的解决方法 ,亲测有效。
在源代码里面找到: cmd-line-utils/libedit/terminal.c
把terminal_set
方法中的 char buf[TC_BUFSIZE];
这一行注释,再把 area = buf;
改为 area = NULL;
, 有两处。
Code:
protected int
terminal_set(EditLine *el, const char *term)
{
int i;
// char buf[TC_BUFSIZE];
char *area;
const struct termcapstr *t;
sigset_t oset, nset;
int lins, cols;
--phpfensi.com
(void) sigemptyset(&nset);
(void) sigaddset(&nset, SIGWINCH);
(void) sigprocmask(SIG_BLOCK, &nset, &oset);
area = NULL;
最后重新编译OK