【发布时间】:2017-12-08 07:38:00
【问题描述】:
在非生产系统上,我使用 CLI 上的 PHP 脚本从 Magento 商店导出数据。即使我使用这个设置
php -i | grep memory_limit
memory_limit => -1 => -1
或(用于测试,如果“-1”有问题)
php -i | grep memory_limit
memory_limit => 9000M => 9000M
在我的 /etc/php/7.0/cli/php.ini 中,我收到以下错误:
致命错误:允许的内存大小为 6290000000 字节已用尽(尝试分配 232422 字节)
系统内存使用命令“top”:
KiB Mem : 20561176 total, 8667804 free, 7096968 used, 4796404 buff/cache
KiB Swap: 4190204 total, 4067004 free, 123200 used. 13050308 avail Mem
如何将内存限制增加到真正的无限?
还有其他我不知道的设置吗?
【问题讨论】:
-
如何导出数据?到文件?使用什么样的格式?
-
如果你的脚本消耗了这么多资源,那么进一步增加内存限制是个坏主意。首先尝试弄清楚为什么会发生这种情况。
-
我导出到 csv 文件。它的大小应约为 200 MB。我消耗了这么多内存,因为我必须遍历 Magento 数据库中的所有产品,其中包含超过 300.000 个项目并建立一个庞大的集合。
标签: php memory-limit