添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

thinkphp+js开发ChatGPT打字流效果时报MIME type (text/html) that is not text/event-stream的解决办法

围观381次

最近给客户用 thinkphp 开发gpt时遇到一个问题就是浏览器会提示这样一个错误:EventSource's response has a MIME type ("text/html") that is not "text/event-stream". 可是明明PHP已经申明了header("Content-Type: text/event-stream"); 折腾了一会终于解决,原来 thinkphp 使用了数据缓冲来输出内容,这会导致有些响应格式没有生效,所以在上面的PHP代码中添加 ob_end_clean(); 可以解决问题。

if (ob_get_level() > 0) {
// 如果有缓冲区,则清空缓冲区
ob_end_clean(); 
header("Content-Type: text/event-stream");
header('X-Accel-Buffering: no');
上一篇 下一篇