V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yoke123
V2EX  ›  PHP

求各位 v2er 解惑,关于配置文件存储的事

  •  
  •   yoke123 · 2017-06-10 21:25:47 +08:00 · 2518 次点击
    这是一个创建于 2518 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在项目需要(PHP)

    利用 ETCD 共享 Yii2 的配置文件

    没搞过这东西 网上查了一堆资料

    也试了试 唔...... 效果不理想

    求 v2er 解惑 该怎么下手

    一脸懵逼 ing......

    10 条回复    2017-06-13 10:00:29 +08:00
    owenliang
        1
    owenliang  
       2017-06-10 21:41:42 +08:00
    gouchaoer
        2
    gouchaoer  
       2017-06-11 19:09:55 +08:00 via Android
    用 confd 还不如手写一个 php-cli 的脚本去定时去 redis/etcd 拉最新的配置去更新配置文件呢。。。
    yoke123
        3
    yoke123  
    OP
       2017-06-11 19:53:59 +08:00
    @owenliang #1
    @gouchaoer #2
    怎么说呢
    没搞过这些东西 所以不是很明白
    另:还需要个 etcd 的管理界面
    orderc
        4
    orderc  
       2017-06-11 22:56:53 +08:00
    php-fpm 启动时从 etcd 拉取配置, 本地缓存。
    etcd 中配置有更新,通知应用,更新缓存。
    yoke123
        5
    yoke123  
    OP
       2017-06-12 09:45:02 +08:00
    @orderc #4
    有具体例子可以参考下吗?
    orderc
        6
    orderc  
       2017-06-12 20:43:24 +08:00
    @yoke123
    1. web 界面管理 etcd https://github.com/silenceper/dcmp
    2. watch 配置变化,从 etcd 拉取最新配置
    etcdctl exec-watch key --recursive -- bash -c "php updateConfig.php"
    yoke123
        7
    yoke123  
    OP
       2017-06-13 09:08:58 +08:00
    @orderc #6
    谢谢
    对了 如果配置文件里面有闭包 该怎么缓存进去
    我目前的做法是转换成字符串 存进去
    orderc
        8
    orderc  
       2017-06-13 09:33:45 +08:00
    @yoke123 也只能转换成字符串存进去吧, https://github.com/jeremeamia/super_closure, 不过最好不要这样做。
    yoke123
        9
    yoke123  
    OP
       2017-06-13 09:41:34 +08:00
    @orderc #8
    我用的就是这个扩展包= =
    把闭包转换成字符串 还有其他方法吗?
    orderc
        10
    orderc  
       2017-06-13 10:00:29 +08:00
    @yoke123 #9 网上给出的例子都是通过反射提取出代码段,至于其他方法,我也不知道。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2180 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:22 · PVG 18:22 · LAX 03:22 · JFK 06:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.