允许的内存大小已耗尽536870912字节(尝试分配330698896字节)

哈沙姆·艾哈迈德(Hashaam Ahmed)

我正在尝试更改php.ini中的memory_limit,php.ini使用新的内存大小可以很好地保存,但是我不断遇到相同的内存大小问题?我在Homestead上使用Laravel 5.5。

如果有人可以帮助我,将不胜感激。谢谢!

这是试图运行的代码(将数据从一个数据库导入另一个数据库,除一个表外,其余表都可以)

    $repair = DB::connection('db')->table('tablename')->get();

    DB::beginTransaction();

    foreach ($repair as $repairs) {

        Model::create([
            'column' => $repairs->column,
             ...so on

        ]);

    };

    DB::commit();
查尔拉卡

您正在将整个表加载到内存中。不要那样做

使用块并将create方法放置在其自己的函数中。自身函数的原因是它为php空间提供了开始内部清理使用过的变量等的空间,因为作用域结束了。
还要gc_collect_cycles()在事务结束时调用,以强制清除未使用的变量。
这将使您的方式保持在可接受的内存范围内。如果仍然击中,则每次尝试250或100。

    $query = DB::connection('db')->table('tablename')->orderBy('id','asc');
    $query->chunk(500, function($results) {

        DB::beginTransaction();
        $repairMethod = function($repair) {
            Model::create([
                'column' => $repair->column,
                 ...so on
            ]);
        };

       foreach ($results as $repair) {
           $repairMethod($repair)      
       };

       DB::commit();
       gc_collect_cycles();
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Composer require内存不足。PHP致命错误:允许的内存大小为1610612736字节已用尽

允许的内存大小为33554432字节,已在php中耗尽(尝试分配43148176字节)

Laravel中允许的536870912字节的内存耗尽

允许的内存大小为134217728字节已用尽(尝试分配42字节)

Laravel允许的内存大小为134217728字节(已尝试分配20480字节)

致命错误:耗尽了134217728字节的允许的内存大小(试图分配262144字节)?

最大行大小超过允许的最大8060字节

致命错误:允许的内存大小为1610612736字节已用尽,但已分配1.75G

PHP致命错误:耗尽了1073741824字节的允许内存大小(尝试分配16777216字节)

在do ... while循环中,已用完的内存大小为134217728字节(尝试分配31989760字节)

Composer require内存不足。PHP致命错误:允许的内存大小为1610612736字节已耗尽旅行者

PHP中的简单数组推送超出了允许的内存。(允许使用的内存大小为33554432字节(尝试分配33554440字节))

joomla k2-耗尽了5242880字节的允许内存大小

11223056字节分配上的内存不足

生成数据库备份时出现“ PHP致命错误:允许的内存大小为134217728字节已用尽”

致命错误:耗尽了536870912字节的允许的内存大小

致命错误:Magento的可用内存大小为134217728字节

致命错误:耗尽了268435456字节的允许的内存大小(试图分配71个字节)

数组用尽的允许的内存大小为268435456字节

分配32字节对齐内存的分配器

致命错误:第15行的C:\ xampp \ htdocs \ main.php中耗尽了134217728字节的允许内存大小(尝试分配8192字节)

为什么PHP耗尽了134217728字节的允许内存大小?

尝试将SQL结果导入数组:致命错误:允许的134217728字节的内存大小已用尽

内存不足(已分配27262976)(试图分配294912字节)Laravel

允许的内存大小为 134217728 字节耗尽(尝试分配 81920001 字节)

致命错误:已用尽允许的 268435456 字节内存大小(尝试分配 132120600 字节)

允许的内存大小为 138412032 字节耗尽(尝试分配 20480 字节)

Yii 1.1 Allowed memory size of 536870912 bytes已用完(尝试分配72字节)

允许的内存大小为 134217728 字节耗尽(尝试分配 8192 字节)即使我在 php.ini 中给出了 1024MB 大小,在 php 中也出错