要让Nginx支持PHP-FPM处理OpenAI API的流式输出(如SSE或流式响应),需调整配置确保数据实时传输,避免缓冲阻塞。关键设置如下:
禁用Nginx缓冲:在PHP处理的location块中,关闭响应缓冲和压缩,确保数据即时发送:
location ~ \.php$ { fastcgi_pass unix:/run/php-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; # 禁用缓冲 fastcgi_buffering off; proxy_buffering off; gzip off; }
PHP端配置:确保PHP脚本不缓冲输出,设置正确的响应头:
header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); header('X-Accel-Buffering: no'); // 关键:告知Nginx不缓冲 // 禁用PHP输出缓冲 ob_implicit_flush(true); ob_end_flush();
处理连接超时:若流持续时间长,需延长超时设置:
fastcgi_read_timeout 300s; # 调整为合适时长 proxy_read_timeout 300s;
这些设置确保Nginx和PHP-FPM不缓存流式数据,实现OpenAI API响应的实时输出。
网友回复
pywebview如何使用浏览器自带语音识别与webspeech 的api?
pywebview如何禁用浏览器的右键菜单?
即梦ai的agent生成的儿童故事视频为啥没有配音与声音台词?
php子域名可获取主域名的session会话信息吗?
nginx如何支持php-fpm的流式请求openai api输出的设置?
阿里的Qwen3-Next与Qwen3-max有啥不同?
如何调用ai根据主题生成一组带解说和画面一致性的儿童绘本故事视频?
有没有ai根据需求生成包含声效图片三维模型等素材的html游戏网站?
js如何去除html网页中style中没有用到的css代码?
python如何设置oss的阻止公开访问的开与关?