【发布时间】:2019-12-25 15:11:12
【问题描述】:
我在 PHP 7.0 下有一个 wordpress 网站。我的服务器日志充满了:
wordpress: Fatal error: Out of memory (allocated 56623104)
我的问题是这个值 56623104(~56M) 是从哪里得到的?我应该去哪里看?
在我的 php.ini 中有:
php -i | grep memory_limit
memory_limit => 2048M => 2048M
在 wp-config.php 我有:
define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '1024M' );
我还有足够的空闲内存:
total used free shared buffers cached
Mem: 3945 2848 1096 0 57 1298
-/+ buffers/cache: 1492 2453
【问题讨论】:
-
您的系统有多少内存?你可以试试 phpinfo() 看看你的内存限制是多少!
-
我这样做:php -i | grep 内存限制。是一样的。
-
好的,事情是这样的,内存是逐步分配的,所以在每一步中,在你的情况下,php 请求 56623104(这么多)内存,所以我们不知道有多少步进行分配时,似乎有一个无限循环在重复请求内存,并且在某一时刻失败了,因此某些代码(可能是插件)中存在一些问题
-
所以也许在那一刻,我的可用内存小于请求?
-
是的,问题似乎出在代码中,或者可能是它试图处理一个非常大的对象,如果你正在运行它,这也可能根本没有错误并且您有大约 50 个同时用户,这个问题很容易发生......所以在这种情况下,您可能需要增加服务器的内存
标签: wordpress php-7 memory-limit