【问题标题】:setting memory_limit to 2048M but i keep getting 256M error将 memory_limit 设置为 2048M 但我不断收到 256M 错误
【发布时间】:2013-11-24 17:53:17
【问题描述】:

我正在为 WP 做一个插件,该插件中有备份功能需要长时间运行,这部分也需要大量的内存限制。

所以我在脚本中设置了ini_set('memory_limit', '2048M');ini_set('max_execution_time', 10000);,在 WP 配置文件中设置了define( 'WP_MEMORY_LIMIT', '2048M' );

但是我不断得到: Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 72 bytes)

是否有可能托管公司有一定的限制,我在运行时无法更改?

提前致谢。

【问题讨论】:

  • 检查您是否有权更改这些值!
  • 如何检查我是否有权限?

标签: php memory-limit


【解决方案1】:

是否有可能托管公司有一定的限制,我在运行时无法更改?

这当然是可能的,尤其是当您的主机是作为 PHP 服务提供时。通过在同一脚本中运行phpinfo();,您可以检查将内存增加到 2048M 的任何修改是否有任何效果。

【讨论】:

  • 好吧,本地值是2048m,master是128M,所以很奇怪。
  • 您的 php 提供商是否使用空的用户 ini 文件过滤器禁用了 php.ini 覆盖?
  • 我真的不知道,但是耗尽内存错误是针对 256 这意味着它不是服务器大小 - 它可能在脚本中的某个地方不确定
【解决方案2】:

这很奇怪。查看我的phpinfo() 输出:

托管服务提供商已将我的限制提高到 128M(不是我将其设置为 128M),实际上我有 128M 可用。根据我对 Master Value 覆盖 Local Value 的理解,我应该只有 64M。

最奇怪的是,这些值都不受ini_set('memory_limit', '32M');的影响!!

使用phpinfo 很简单,只需将以下 php 文件放入您的服务器:

<?php
    phpinfo();
?>

【讨论】:

  • 所以我的有 128m 但错误是 256m。所以它在脚本中的某个地方发生了一些变化
  • @NetaMeta 你们的价值观是什么?您的“本地”价值是什么?你的“主人”价值观是什么?
  • local 2048, master 128. 但是当我做一些 echo ini_get('memory_limit');我得到 256 .. 这很奇怪
  • 我现在已经在整个 WP 安装中搜索 memory_limit 只找到了我设置它们的 2 个地方。这很奇怪。
  • @NetaMeta 我现在发现它很奇怪。实际上我有 128M 可用。似乎 Local 值会覆盖 Master 值...请参阅我更新的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 2014-02-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多