最近给客户用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');
0 个评论