Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 陷入永恒的循环_Javascript_Php_Apache_Docker - Fatal编程技术网

Javascript 陷入永恒的循环

Javascript 陷入永恒的循环,javascript,php,apache,docker,Javascript,Php,Apache,Docker,我有: 最后一个Docker和Docker组合 下面是简单的代码(sse.php): 我将看到我想要看到的(示例): 但是如果我试图打开这个链接,我就做不到。似乎它试图连接,但没有成功: 当我重置curl(Ctrl+C)时,过一会儿页面就会打开 浏览器中此JS代码的情况相同: var eventSource = new EventSource('/sse.php'); eventSource.onmessage = function(e) { console.log("Пришло

我有:

  • 最后一个Docker和Docker组合
下面是简单的代码(sse.php):

我将看到我想要看到的(示例):

但是如果我试图打开这个链接,我就做不到。似乎它试图连接,但没有成功:

当我重置curl(
Ctrl+C
)时,过一会儿页面就会打开

浏览器中此JS代码的情况相同:

var eventSource = new EventSource('/sse.php');
eventSource.onmessage = function(e) {
  console.log("Пришло сообщение: " + e.data);
};
它的工作原理是:

但是我不能再翻页了

eventSource.close()之后,一切正常

如何解决此问题?我做错了什么?请帮帮我
//对不起我的英语不好

PS:

我试图将这行代码从internet添加到apache配置中,但没有任何更改:

<IfModule mpm_worker_module>
    ServerLimit              250
    StartServers              10
    MinSpareThreads           75
    MaxSpareThreads          250
    ThreadLimit               64
    ThreadsPerChild           32
    MaxRequestWorkers       8000
    MaxConnectionsPerChild 10000
</IfModule>

服务器限制250
StartServers 10
Minspare75
MaxSpareThreads 250
线程限制64
螺纹圆规32
MaxRequestWorkers 8000
MaxConnectionsPercild 10000
更新

我尝试使用其他设备连接到服务器

  • 我在PC
    curl上运行这个命令http://localhost/sse.php
    这会导致浏览器出现问题
  • 我打开
    http://192.168.0.1/
    在手机浏览器中打开,不会出现任何问题
我认为apache或docker限制了每个客户端的连接,但在web中找不到任何信息

更新2 更多信息:


根据的文档,输出需要比真正刷新到浏览器的字节长。尝试添加类似于echo strpad(“”,2048)的内容flush()

之前执行code>!如果遇到这样的问题,请尝试禁用xDebug并关闭会话
session\u write\u close()

PHP为一个连接锁定会话写入,这导致了这个问题

这张图片非常有用……您的循环永远不会结束,因此PHP服务器无法向您的浏览器发送任何内容。在完整代码运行之前,PHP不会输出任何内容。因此,在您的情况下,不会输出任何内容,因为您不允许代码是芬兰语的。@Federico图片显示了一个正在等待服务器响应的浏览器。我认为这很有用。这表明服务器没有使用代码。所以-你想用这个页面实现什么?@Andreas你没有注意到。服务器将数据发送到浏览器或控制台(curl)。但当我使用服务器端事件连接到服务器时,另一个页面不会打开。我认为docker或apache中存在问题。不是在PHP代码中。你可以用谷歌搜索服务器端事件试用我的解决方案是一件轻而易举的事——如果它不能解决问题,那就浪费了五分钟。但是,如果你不想给它一个机会,你是受欢迎的:)好的。但您所说的“服务器端事件”是什么意思
id: 1
data: 41

id: 2
data: 12

id: 3
data: 7

id: 4
data: 10
var eventSource = new EventSource('/sse.php');
eventSource.onmessage = function(e) {
  console.log("Пришло сообщение: " + e.data);
};
<IfModule mpm_worker_module>
    ServerLimit              250
    StartServers              10
    MinSpareThreads           75
    MaxSpareThreads          250
    ThreadLimit               64
    ThreadsPerChild           32
    MaxRequestWorkers       8000
    MaxConnectionsPerChild 10000
</IfModule>