是否可以使用PHP同时更新屏幕并等待用户输入?
发布时间:2020-12-13 17:56:00 所属栏目:PHP教程 来源:网络整理
导读:我想编写一个小型管理工具来监督我的服务器进程,我的问题是现在,我怎么能等待用户输入并同时用当前统计数据更新屏幕?甚至可以使用 PHP-CLI,还是有任何技巧可以做到这一点,我目前失踪了? 我已经研究过newt和ncurses PECL扩展,但两者似乎都不符合我的需求.
我想编写一个小型管理工具来监督我的服务器进程,我的问题是现在,我怎么能等待用户输入并同时用当前统计数据更新屏幕?甚至可以使用
PHP-CLI,还是有任何技巧可以做到这一点,我目前失踪了?
我已经研究过newt和ncurses PECL扩展,但两者似乎都不符合我的需求.
前往libevent
http://www.php.net/manual/en/book.libevent.php
您可以在监听控制台的同时运行主循环,其代码大致类似于以下代码: <?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..... } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |