Server-Sent-Events 可以在没有 while 循环(而是 cronjob)的情况下用 PHP 实现吗?

问题描述 投票:0回答:0

我面临着在这里解释的相同问题:PhP 7.4 中的服务器发送事件 SSE - Apache 挂起并且未注册/服务任何新请求

Apache 服务器的

max_children
,由于用户的大量SSE 连接。

SSE 是用 PHP 创建的,使用每 x 秒执行一次的 while 循环。例子:

while (true) 
{
    if ($newevent) 
    {
        echo "data: ".$newevent."\n\n";
        ob_end_flush();
        flush();
    }
    else 
    {
        sleep(3);  
    }
}

我开始想知道是否有任何方法(例如使用 cronjob)来避免 PHP 进程的累积 - 并保持套接字连接打开以便能够通信。 (不是网络套接字。)

php server-sent-events
© www.soinside.com 2019 - 2024. All rights reserved.