業務邏輯:
正常在 controller 方法的參數中注入某個類,方法中使用這個類時發生內存超出提示。
分析:
過往顯示,正常使用依賴注入是不存在問題的,那么很有可能是哪里發生了循環引用,導致一直請求某個操作而消耗內存。
排查:
業務邏輯沒有任何問題。
在定義路由時,該路由指定了某個中間件,需要排查中間件的 handle 實現。
handle 中只做了一件事,檢測當某個條件不滿足時會調用 return app(Controller::class)->returnValue();
我們知道 app() 中的 make 方法是解析依賴注入的源頭。
那么,你知道在中間件中為什么會引發內存溢出嗎 ?
解決方案:
中間件拋異常,再對異常統一處理。
Link:https://www.cnblogs.com/farwish/p/12233103.html