yellow 发表于 2024-12-8 16:54:09

【待反馈】宝塔apache如何关闭缓冲实时输出?

最近在做大模型的中转,但流式输出一直无法起作用。测试发现是服务器宝塔的问题,我本地也是apache,但一点问题没有。
测试代码:


<?php
while (ob_get_level() > 0) {
    ob_end_clean();
}
ini_set('output_buffering', 'off');
ini_set('zlib.output_compression', 'off');
header('Content-Type: text/plain');
header('Cache-Control: no-store, no-cache, must-revalidate, max-age=0');
header('Pragma: no-cache');
header('X-Accel-Buffering: no');

echo "Testing streaming...\n";
for ($i = 1; $i <= 5; $i++) {
    echo "Message $i\n";
    flush();
    sleep(1);
}
echo "Streaming complete.\n";
执行后,应该是1秒钟出现一行字,然后最后输出 Streaming complete.


但放到宝塔里,就是不行,宝塔里等5秒钟一起输出来,而不是逐条输出来。


我已经关了 php.ini 的,php-fpm设置也改了。
output_buffering,apache里也注释了 deflate_module,http也改为了1.1
<IfModule http2_module>Protocols http/1.1</IfModule>
output_buffering = Off
zlib.output_compression = Off
包括 httpd-default.conf 也注释了最后三行


请问如何处理,是哪里的问题呢?



已经有很多人有这个问题,一直没有答复

https://www.bt.cn/bbs/thread-9698-1-1.html
https://www.bt.cn/bbs/thread-61087-1-1.html
https://www.bt.cn/bbs/thread-141361-1-1.html

大炮运维V587 发表于 2024-12-9 15:17:25

您好,您看下是不是安装了 opcache 这个扩展?如果是的话,先卸载掉

yellow 发表于 2024-12-10 21:08:29

大炮运维V587 发表于 2024-12-9 15:17
您好,您看下是不是安装了 opcache 这个扩展?如果是的话,先卸载掉

没有装,还有其他原因吗?



yellow 发表于 2025-1-7 14:34:00

大炮运维V587 发表于 2024-12-9 15:17
您好,您看下是不是安装了 opcache 这个扩展?如果是的话,先卸载掉

亲,有解决方案吗
页: [1]
查看完整版本: 【待反馈】宝塔apache如何关闭缓冲实时输出?