ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# open\_eof\_check [TOC] 打开`EOF`检测,此选项将检测客户端连接发来的数据,当数据包结尾是指定的字符串时才会投递给`Worker`进程。否则会一直拼接数据包,直到超过缓存区或者超时才会中止。当出错时底层会认为是恶意连接,丢弃数据并强制关闭连接。 ## 参数类型 * 布尔型,必须为`true`或`false`,传入其他类型数值会被强制转为布尔型 > 此配置仅对`STREAM`类型的`Socket`有效,如`TCP`、`Unix Socket Stream` ~~~ array( 'open_eof_check' => true, //打开EOF检测 'package_eof' => "\r\n", //设置EOF ) ~~~ 常见的`Memcache/SMTP/POP`等协议都是以`\r\n`结束的,就可以使用此配置。开启后可以保证Worker进程一次性总是收到一个或者多个完整的数据包。 > `EOF`检测不会从数据中间查找`eof`字符串,所以`Worker`进程可能会同时收到多个数据包,需要在应用层代码中自行`explode("\r\n", $data)`来拆分数据包 > `1.7.15`版本增加了`open_eof_split`配置项,支持从数据中查找`EOF`,并切分数据