1
我知道通过stty -a
命令找出终端的尺寸参数是相当容易的。当使用本地CLI PHP脚本时,通过system()
左右抓取该输出没有任何问题。通过PHP CLI确定终端线路/列队
但我想通过一个从ssh命令启动的php脚本来做同样的事情。可悲的是,所有stty
永远返回是:
stty: standard input: Invalid argument.
调用代码:
exec('stty -a | head -n 1', $query);
echo $query[0];
所以,问题是:如果我能输出到终端,并从中读取输入(例如可以fread()
从?STDIN和fwrite()
到STDOUT在PHP,不应该stty
也有有效的STDIN和STDOUT
我应该提到,我试图避免使用类似ncurses的东西来获得屏幕大小。 – eFrane 2012-04-15 16:24:15
不是100%确定,但对终端大小执行exec可能会导致大小不正确,因为它将是脚本允许的大小,而不是执行终端的大小。 – ChrisK 2012-04-15 16:28:40
这将导致请求未分配的终端的大小,因为SSH本身不会为直接调用的命令分配终端。嗯。 – eFrane 2012-04-15 16:32:04