标签: php-ncurses

在 php7.0 上安装 ncurses 扩展

我尝试ncurses为 php7.0安装扩展,但出现此错误

/bin/bash /tmp/pear/download/ncurses-1.0.2/libtool --mode=compile cc  -I. -I/tmp/pear/download/ncurses-1.0.2 -DPHP_ATOM_INC -I/tmp/pear/download/ncurses-1.0.2/include -I/tmp/pear/download/ncurses-1.0.2/main -I/tmp/pear/download/ncurses-1.0.2 -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib  -DHAVE_CONFIG_H  -g -O2   -c /tmp/pear/download/ncurses-1.0.2/ncurses.c -o ncurses.lo 
libtool: compile:  cc -I. -I/tmp/pear/download/ncurses-1.0.2 -DPHP_ATOM_INC -I/tmp/pear/download/ncurses-1.0.2/include -I/tmp/pear/download/ncurses-1.0.2/main -I/tmp/pear/download/ncurses-1.0.2 -I/usr/include/php/20151012 -I/usr/include/php/20151012/main -I/usr/include/php/20151012/TSRM -I/usr/include/php/20151012/Zend -I/usr/include/php/20151012/ext -I/usr/include/php/20151012/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /tmp/pear/download/ncurses-1.0.2/ncurses.c  -fPIC -DPIC -o .libs/ncurses.o
/tmp/pear/download/ncurses-1.0.2/ncurses.c:36:37: error: unknown type name ‘zend_rsrc_list_entry’
 static void ncurses_destruct_window(zend_rsrc_list_entry *rsrc TSRMLS_DC)
                                     ^
/tmp/pear/download/ncurses-1.0.2/ncurses.c:45:36: error: unknown type name ‘zend_rsrc_list_entry’
 static void ncurses_destruct_panel(zend_rsrc_list_entry *rsrc TSRMLS_DC)
                                    ^
/tmp/pear/download/ncurses-1.0.2/ncurses.c: In function ‘zm_startup_ncurses’:
/tmp/pear/download/ncurses-1.0.2/ncurses.c:247:57: …
Run Code Online (Sandbox Code Playgroud)

php-extension php-7 php-ncurses

6
推荐指数
1
解决办法
2617
查看次数

ncurses_def_shell_mode()和ncurses_def_prog_mode()到底做了什么?

使用php ncurses,我很想知道具体是什么ncurses_def_shell_mode()ncurses_def_prog_mode()功能.他们没有在PHP手册中记录,我所做的一点点man ncurses没有帮助.

如果我在调用之前调用ncurses_def_shell_mode()然后重置,根据扩展名的源应该调用ncurses,终端光标仍然以某种方式丢失.ncurses_reset_shell_mode()ncurses_end()endwin

<?php
ncurses_init(); // start ncurses window
ncurses_def_shell_mode();

sleep(2); // print some stuff here

ncurses_reset_shell_mode();

ncurses_end(); // clean up and get out
exit;
?>
Run Code Online (Sandbox Code Playgroud)

我想有和没有,ncurses_def_shell_mode()ncurses_def_prog_mode(),但不知何故,窗口不退出正确重置尽管正确调用复位.我误解了这些功能应该如何工作?我能够挖掘出非常少的信息,以便更深入地了解它们的正确用法.

我知道ncurses可能过时,但这使得知道如何正确使用它变得更加困难.

这里预期的行为是在调用之后ncurses_reset_shell_mode()或者ncurses_reset_prog_mode()shell或prog窗口应该恢复到之前保存的状态.

实际的行为似乎是shell在退出时是一个破碎的状态.光标不闪烁,键入不会显示终端中的任何内容.但是,终端正在正确接收输入,因为键入命令并按下输入仍然有效.

php ncurses php-ncurses

5
推荐指数
1
解决办法
84
查看次数

标签 统计

php-ncurses ×2

ncurses ×1

php ×1

php-7 ×1

php-extension ×1