【问题标题】:PHP memory_limit -1 does not work, seems to be 6GBPHP memory_limit -1 不起作用,好像是6GB
【发布时间】: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


【解决方案1】:

有一个硬编码

ini_set('memory_limit', '6000M');

在 Magento 代码中。对不起我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-01
    • 2012-11-09
    • 2012-04-13
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    相关资源
    最近更新 更多