
hyperf 配置中心使用 etcd 获取不到 string 值问题
在配置 hyperf 使用 etcd 作为配置中心时,遇到了如下问题:
$ttl = config('hb.app.ttl'); // 1800$mode = config('hb.app.mode'); // null
原因分析
经过代码检查,发现 hyperf configetcd 驱动默认采用 json 打包器对 etcd 中的数据进行打包。因此,在 etcd 中保存的 string 类型数据,在获取时需要以 json 格式进行解析。
解决方案
修改 hyperf 配置中心配置,将数据打包器从 jsonpacker 修改为 phppacker:
'packer' => hyperfutilspackerphppacker::class,
示例:
$ttl = config('hb.app.ttl'); // 1800$mode = config('hb.app.mode'); // "fast"
进一步优化
为了更好地支持不同数据类型,可以考虑在 etcd 中使用类似 type 字段来指示数据类型,并在代码中进行相应处理。
以上就是Hyperf配置中心Etcd:如何正确获取String类型配置值?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1283169.html
微信扫一扫
支付宝扫一扫