1

我已将 php 的内存限制分配为 999m,因此它出现在 phpinfo 中,例如

memory_limit 999M 999M

当我使用 phpinfo(); 展示它。

不幸的是,当我尝试运行一个相当大的脚本时,限制似乎是 256M

致命错误:第 1403 行 /xxx/wp-includes/wp-db.php 中允许的内存大小为 268435456 字节已用尽(尝试分配 40 字节)

任何人都知道为什么或我可以做些什么来增加限制(并让它真正起作用)

如果有帮助,我正在运行 centos5 32bit 并且 php 在 fcgi 模式下运行

4

7 回答 7

12

我有一个类似的问题,对我来说这是一个额外的 ini 文件,它被加载了一个名为“99-liip-developer.ini”的文件。在文件的顶部,memory_limit 被定义为 265M,它覆盖了 php.ini 中定义的 memory_limit。

希望这对任何人都有帮助。

于 2013-08-27T10:00:14.580 回答
3

键入php --ini以查找配置路径。

更改memory_limit为您需要的任何值。确保您在这两个文件上都进行了更改:php.iniconf.d/php-memory-limits.ini

(在我的情况下,我使用 -1 来拥有无限的内存(当然,不是无限的,而是我的电脑可以处理的))

于 2020-07-02T11:54:19.547 回答
2

我建议您将其设置在脚本的顶部:

 ini_set("memory_limit","512M");

在消耗大量内存的脚本中,而不是让所有脚本消耗这么多内存。您也可以将它放在 /wp-includes/ 的 .htaccess 中

 php_value memory_limit 512M

更多信息和解释在这里: http ://www.mydigitallife.info/php-allowed-memory-size-exchausted-fatal-error/

于 2012-04-03T20:40:02.290 回答
0

您可以尝试将其放在文件的顶部

ini_set('memory_limit', '999M')

你有多少系统内存可用?您是否在编辑 php.ini 文件后重新启动了 Apache(我假设您已将 php 作为模块安装)?

尝试:

sudo /etc/init.d/httpd restart
于 2012-04-03T20:40:34.053 回答
0

不确定,但这出现在谷歌搜索中:

http://wordpress.org/support/topic/plugin-cbnet-ping-optimizer-lots-of-errors-on-ping-optimizer-_help-please

ping 优化器在数据库上塞满了一个完整的表,清除解决了这个问题。错误几乎相同:

致命错误:第 1400 行 /home/user1/public_html/domain/wp-includes/wp-db.php 中允许的内存大小为 268435456 字节已用尽(尝试分配 80 字节)

所以看看一个插件是否也在做同样的事情,然后清除它并将它记录在某个地方的 WP 上,这样如果是问题就可以修复它。

于 2012-04-03T20:55:10.133 回答
0

创建一个名为 test.php 的 php 文件,放入:

<?php
phpinfo();
?>

检查“配置文件 (php.ini) 路径”和“加载的配置文件”以查看正确的 php.ini 路径。编辑php.ini并搜索memory_limit并将其设置为:

memory_limit = 999M

检查 php.ini 文件中是否有多个 memory_limit 出现。在这种情况下,删除它。

停止 apache,然后重新启动它(apachectl restart | apachectl graceful | kill -1 不行。停止,然后启动)。

重新检查 test.php 以查看是否获取了新参数。

于 2012-04-03T21:03:24.743 回答
0

确保您在 apache 中的服务器/虚拟服务器未配置为覆盖 PHP 配置。即使您使用:

php_value memory_limit 512M

您的服务器可能具有以下内容:

php_value memory_limit 32M

这将使您在 php.ini 中的更改毫无用处。要解决这个问题:

  • 编辑服务器配置中的 php_value 值。
  • 或者从您的 Web 服务器中删除它,以便它使用 PHP 全局设置。
于 2013-10-21T09:35:12.303 回答