【问题标题】:Is there a way to scale up the memory limit dynamically in PHP?有没有办法在 PHP 中动态扩展内存限制?
【发布时间】:2016-03-08 18:56:13
【问题描述】:

这只是一个一般性问题。当脚本开始达到已经定义的限制时,有没有办法扩大脚本的内存限制?

例如,如果 memory_limit 设置为“32M”,是否有办法检查内存使用量何时接近,如果是,则将限制设置得更高?

感谢您的帮助!

【问题讨论】:

  • 看到这个答案stackoverflow.com/a/3858189 我想你可以通过在else{...} 条件语句中添加ini_set('memory_limit','256M'); 或类似的东西。但我不能保证它会起作用,因为它可能需要重新启动。您可以随时“尝试”;-)
  • 我之前看过那篇文章,我尝试将其放入 else 中,并尝试捕获致命错误异常,并在那里执行。不幸的是,两者都不起作用,所以我希望有一个更简单的解决方案。如果没有,我可能会重新考虑这种方法。
  • 所以我得到了一些支持 ^ - 看这个,有人会弹出一个答案 lol 可能会反击。
  • 对此的旁注:memory_limit 并不意味着您的脚本will 使用那么多内存,这是它可以使用的最多内存。因此,将其设置为您希望它失败的位置,动态提升它并不会真正帮助您,除了阻塞您的服务器,因为您没有施加限制
  • 我们有答案 v_v_v

标签: php memory memory-management


【解决方案1】:

对于那些在搜索时达到这一点的人:

从 cmets 看来,答案似乎是没有必要这样做。只需将内存限制设置得足够高,脚本就可以运行,并且高估所需的内存限制没有任何不利之处。

请查看问题下方的 cmets。

【讨论】:

    【解决方案2】:

    您也可以使用它来了解您正在使用多少内存。

     $start_memory = memory_get_usage();
     //do some stuff here.
     echo memory_get_usage() - $start_memory;
    

    【讨论】:

      猜你喜欢
      • 2011-12-02
      • 1970-01-01
      • 2017-03-10
      • 1970-01-01
      • 2016-06-13
      • 1970-01-01
      • 1970-01-01
      • 2019-09-05
      • 2022-10-24
      相关资源
      最近更新 更多