[PHP] Laravel 依赖注入使用不当引起的内存溢出

Posted Ethan Plan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[PHP] Laravel 依赖注入使用不当引起的内存溢出相关的知识,希望对你有一定的参考价值。

 

业务逻辑:

正常在 controller 方法的参数中注入某个类,方法中使用这个类时发生内存超出提示。

 

分析:

过往显示,正常使用依赖注入是不存在问题的,那么很有可能是哪里发生了循环引用,导致一直请求某个操作而消耗内存。

 

排查:

业务逻辑没有任何问题。

在定义路由时,该路由指定了某个中间件,需要排查中间件的 handle 实现。

handle 中只做了一件事,检测当某个条件不满足时会调用 return app(Controller::class)->returnValue();

我们知道 app() 中的 make 方法是解析依赖注入的源头。

那么,你知道在中间件中为什么会引发内存溢出吗 ?

 

解决方案:

中间件抛异常,再对异常统一处理。

 

Link:https://www.cnblogs.com/farwish/p/12233103.html

以上是关于[PHP] Laravel 依赖注入使用不当引起的内存溢出的主要内容,如果未能解决你的问题,请参考以下文章

Laravel:如何模拟依赖注入类方法

PHP依赖注入,控制反转,反射Ioc容器和服务提供者各个概念的理解和使用

PHP依赖注入,控制反转,反射Ioc容器和服务提供者各个概念的理解和使用

laravel中的构造函数依赖注入理解

关于laravel5.5控制器方法参数依赖注入原理深度解析及问题修复

PHP反序列化中过滤函数使用不当导致的对象注入