首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >有没有可能用PHP同时更新屏幕和等待用户输入?

有没有可能用PHP同时更新屏幕和等待用户输入?
EN

Stack Overflow用户
提问于 2012-05-14 23:45:35
回答 4查看 621关注 0票数 7

我想写一个小的管理工具来监督我的服务器进程,我的问题是,我如何等待用户输入,同时用当前的统计数据更新屏幕?PHP-CLI有没有可能做到这一点,或者有什么技巧可以做到这一点,我目前还没有呢?

我研究过newt和ncurses的PECL扩展,但它们似乎都不符合我的需求。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-05-18 18:11:55

转到libevent http://www.php.net/manual/en/book.libevent.php

您可以在监听console时运行主循环,代码大致如下:

代码语言:javascript
运行
复制
<?php   
// you need libevent, installable via PEAR
$forever=true;
$base=event_base_new();
$console=event_buffer_new(STDIN,"process_console");
event_buffer_base_set($console,$base);
event_buffer_enable($console,EV_READ);
while ($forever) {
    event_base_loop($base,EVLOOP_NONBLOCK); // Non blocking poll to console listener
    //Do your video update process
}
event_base_free($base); //Cleanup
function process_console($buffer,$id) {
    global $base;
    global $forever;
    $message='';
    while ($read = event_buffer_read($buffer, 256)) {
        $message.=$read;
    }
    $message=trim($message);
    print("[$message]\n");
    if ($message=="quit") {
        event_base_loopexit($base);
        $forever=false;
    }
    else {
        //whatever.....
    }
}
票数 1
EN

Stack Overflow用户

发布于 2012-05-17 14:17:53

我不认为使用PHP CLI可以做到这一点。据我所知,当用PHP解释脚本时,你只能看到最终的输出。

票数 0
EN

Stack Overflow用户

发布于 2012-05-18 11:19:55

我想你确实想要咒语。如果您能够转换简单的示例C代码here,那么您就拥有了解决问题的“引导程序”。

一定要把你的代码写在博客上!:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10586646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档