【问题标题】:PHP asynchronous reading (shell scripting)PHP异步读取(shell脚本)
【发布时间】:2011-04-18 13:19:22
【问题描述】:

我有一个向客户端提供数据的 PHP TCP 守护进程。其中一项功能是从“tail -f messages”命令获取信息。所以我必须异步运行这个命令,如果有新数据,把它发送给客户端。

我有一个如何创建这个异步读取器的问题 - 当添加新数据时,运行该方法,否则做你必须做的其他事情。

梅莫

编辑:我的问题可以通过使用某些类型的线程和 IPC 来解决(php 支持线程吗?)。

【问题讨论】:

    标签: php shell pipe


    【解决方案1】:

    如果你可以安装扩展,你可以使用 libevent PHP 扩展来实现。

    【讨论】:

      【解决方案2】:

      使用popen 执行tail -f message,将'r' 作为$mode 参数传递。然后你可以从返回的文件指针中fread

      【讨论】:

      • 不,这种方法会阻塞脚本。
      【解决方案3】:

      试试stream_set_blocking(),它应该可以解决问题。

      【讨论】:

        猜你喜欢
        • 2023-03-15
        • 1970-01-01
        • 2015-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-18
        • 1970-01-01
        相关资源
        最近更新 更多