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组合
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/
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>