【发布时间】: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 项目。