一次thinkphp框架 success跳转卡顿问题的解决

近期工作中遇到了一个奇怪的现象:thinkphp框架中一个控制器中执行success或者error跳转的时候,会卡10s甚至更久,而在其他控制器中测试却不会。于是开始着手调试,利用自定义的毫秒函数测试各处代码执行的效率,最终定位发现 \ThinkPHP\Library\Think\Controller.class.php 中 函数dispatchJump 执行到 $this->get()时会出现明显卡顿,但是在其他控制器中使用并未发现问题 。于是想到了查询tp自带的日志,发现提示了 Declaration of B::c($a, $b) should be compatible with A::c($a)这样一处错误 ,这个错误是重写父类方法是发生的,于是去控制器子类中查找 get()  ,果然是无意中重写覆盖了父类的方法 ,执行了错误的函数 最终导致了卡顿问题 。 以此记录本次发现的问题,希望可以帮助到其他类似问题情况的人,提供一种思路。

posted @ 2017-11-28 19:20  彬莫  阅读(609)  评论(0编辑  收藏  举报