common/behavior/common/moduleInit钩子导致极验验证码出问题的bug

君君要上天 2月前 481

问题描述

点击登录,请求http://xxx.com/addons/geet/index/check 进行验证码验证时报以下错:

image.png

查看源码发现,geet/index/check方法中手动重新初始化app并发送请求:

image.png

我猜测是App:run()操作导致 application/common/behavior/Common/moduleInit 这个钩子被执行了两次,所以moduleInit 这个方法中的class_alias('fast\\Form', 'Form'); 这句代码被执行了两次。因此报第一张的错误。。

image.png

奇怪的是我其他项目同样用了极验验证码都没有出现这个问题。。

PS:我用xdebug调试了一下,发现application/common/behavior/Common/moduleInit钩子确实被执行了两次

FastAdmin版本

1.0.0.20180618_beta


我证实了问题是common/behavior/common/moduleInit这个钩子执行了两次导致的。我查看了我当前项目的代码和老版本fastadmin代码,发现common/behavior/common/moduleInit这个钩子代码不一样:

老版本:image.png

新版本:image.png

对比发现新版本多了一行:class_alias('fast\\Form', 'Form');,旧版本没有(我其他项目用的是旧版本fa)。新版这句代码被执行了两次,所以极验验证码报错

最后于 2月前 被君君要上天编辑
最新回复 (9)
  • 在熬粥 2月前
    感谢TA
    0 引用 2

    我还以为你是官方人员...

  • 君君要上天 楼主 2月前
    感谢TA
    0 引用 3
    在熬粥 我还以为你是官方人员...

    我长得像吗

  • 在熬粥 2月前
    感谢TA
    0 引用 4

    @毕竟排名第二的回复..我依稀记得群里说的他们就一个维护一个商务两个人...

  • 君君要上天 楼主 2月前
    感谢TA
    0 引用 5
    在熬粥 @毕竟排名第二的回复..我依稀记得群里说的他们就一个维护一个商务两个人...

    帮助别人解决问题可以让自己对fastadmin更了解。。我没事干就逛社区解决问题。

  • 在熬粥 2月前
    感谢TA
    0 引用 6

    @君君要上天 机智哦..我现在主要用他的界面..功能都还没怎么研究..

  • F4NNIU 打赏 2月前
    感谢TA
    0 引用 7
    在熬粥 @毕竟排名第二的回复..我依稀记得群里说的他们就一个维护一个商务两个人...

    不,FastAdmin 后台很强大的,有很多小伙伴在维护着。
    image.png

  • hyanchun520 1月前
    感谢TA
    0 引用 8

    @君君要上天 解决方案就是删除掉吗

  • hyanchun520 1月前
    感谢TA
    0 引用 9

    @F4NNIU 这个问题是要删除class_alias('fast\Form', 'Form');这个吗

  • F4NNIU 打赏 9天前
    感谢TA
    0 引用 10

    【管理员】Karson-深圳(请勿@)
    image.png

    新版中有加入判断。
    【管理员】Karson-深圳(请勿@) 2018/11/7 9:05:42
    你注释了就用不了FormBuilder生成器了

  • 未登录
    11
返回