Laravel 控制台程序 循环执行 ORM 查询 内存溢出

<?php

namespace App\Console\Commands;
use App\Models\Products\SkuStock;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\DB;
use Maatwebsite\Excel\Facades\Excel;

class ImportStock extends Command
{
    protected $signature = 'import:stock';
    protected $description = '导入仓库初始数据';
    public function __construct()
    {
        parent::__construct();
    }
    public function handle()
    {
        DB::connection()->disableQueryLog();
        //此处本来是要实现读取excel数据 导入到数据里面去
        for ($i=0;$i<10000;$i++){
            SkuStock::all();
            echo memory_get_usage().PHP_EOL;
            sleep(1);

        }
    }
}
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
leo
最佳答案

6.x 版本需要把 flare.reporting 里所有的都配成 false,这个是一个巨坑

4年前 评论
JerryBool 3年前
讨论数量: 6
leo

6.x 版本需要把 flare.reporting 里所有的都配成 false,这个是一个巨坑

4年前 评论
JerryBool 3年前

@leo 虽然我没找到 在哪里修改这个配置 但是我就感觉你这个答案是正确的

4年前 评论
leo 4年前

@leo @woaini 请问两位应该如何彻底关闭 IgnitionServiceProvider 里面的日志监听。我追踪下来发现就是这个日志监听,导致内存一直增大。

file

我的 flare 配置文件已经全部改为 false 了

file

3年前 评论
leo 3年前
JerryBool (作者) 3年前
leo

Laravel 6 吗?

4年前 评论

@leo 你好 是 lavarel 6.3 版本 我早上再试试 看会不会是其他日志包引起的 或者定位下具体是不是 框架缓存了某些内容

4年前 评论

谢谢兄弟们已解决 舒坦好多

4年前 评论
lddtime 4年前
woaini (作者) (楼主) 4年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!