【问题标题】:Wordpress Database Memory ErrorWordpress 数据库内存错误
【发布时间】:2017-11-10 05:59:50
【问题描述】:

我正在运行一个大型的 Wordpress 多站点安装,它为每个站点运行多个数据库查询以在各自的博客中显示信息。数据查询不是很繁重,但是我经常在我的错误日志中看到这一点:

PHP Fatal error:  Allowed memory size of 1572864000 bytes exhausted (tried to allocate 97 bytes) in /home/********/public_html/wp-includes/wp-db.php on line 1775

当这种情况发生时,我相信被调用的页面(导致错误)停止加载,用户必须重新加载才能访问信息。我已经通过每个页面都被称为自己的所有负载而没有任何问题。

查看 wp-db.php 文件中的相关行,这是导致错误的行:

preg_match( '/^\s*(create|alter|truncate|drop)\s/i', $query ) ) {
            $return_val = $this->result;

即执行数据库查询时。当我尝试提高 php 资源的内存限制时,这里显然出了点问题。有谁知道我将如何确定导致此错误的原因以便修复它?

【问题讨论】:

  • 你知道是什么page/url 导致错误吗?我建议对您的wordpress 进行缓存,以减少数据库调用。 WP Total Cache 插件相当不错。我总是将它用于我的 wordpress 项目。

标签: php mysql wordpress


【解决方案1】:

将以下代码行放入您的 wp-config.php 文件中。

define( ‘WP_MEMORY_LIMIT’, ‘2000M’ ); // Value must be greater than current value

如果您需要进一步的帮助,请告诉我。

谢谢!

【讨论】:

  • 每次我通过define('WP_MEMORY_LIMIT',)分配更多内存时;这个新的内存限制刚刚被吃掉并且错误继续存在,似乎正在使用的内存没有上限。我应该为每个任务分配内存然后以某种方式清除它吗?
  • 在这种情况下,您的服务器可能没有足够的 memory_limit 值。如果您的服务器有能力,此行将分配内存。请检查您的服务器设置,如果那里较低,请在那里更新。
猜你喜欢
  • 2016-04-30
  • 1970-01-01
  • 2021-04-18
  • 2013-09-25
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多