Drupal 7导致php max timeout的错误

时间:2016-02-19 18:40:15

标签: php mysql drupal drupal-7

尝试追踪此错误。有一段时间,用户将编辑一个节点,并发生一些错误,如下所示:

  

PHP致命错误:在第53行的somefilestructure / includes / database / mysql / query.inc中超出了30秒的最大执行时间,引用:https://abc123.com/node/25806/edit/?destination=admin/content%253Fpage%253D1

以下是53行代码块:

 // If we're selecting from a SelectQuery, finish building the query and
// pass it back, as any remaining options are irrelevant.
if (!empty($this->fromQuery)) {
  $insert_fields_string = $insert_fields ? ' (' . implode(', ', $insert_fields) . ') ' : ' ';
  return $comments . 'INSERT INTO {' . $this->table . '}' . $insert_fields_string . $this->fromQuery;
}

用户只能添加内容,上传图像文件和编辑当前内容等。没什么了不起的。

我不打算在我的最大超时时间内尝试解决问题,我们需要找到导致错误的位置和方法并修复它。

如果有人对此问题有任何反馈,请告诉我。

谢谢!

1 个答案:

答案 0 :(得分:0)

通常在这些情况下line 53不会成为罪魁祸首,它只是在执行时间不足时执行的代码。

这可能有很多原因 - 当您保存节点时,模块可能会尝试执行太多操作,或者您有一些自定义位代码可能会尝试执行过多处理。我们在使用Paragraphs模块的情况下,你添加到节点的段落越多,节点保存得越慢,它可能会超时。

除非您可以在日志中发现可能触发此问题的内容,或者可以想到您最近安装的可能导致它的任何模块,否则很难进行调试和修复。如果您遇到困难,我之前用于性能调试的最佳工具是Xhprof。在大多数情况下,罪魁祸首是什么变得非常清楚。 以下是我过去安装xhprof - http://www.pixelite.co.nz/article/profiling-drupal-7-performance-xhprof-and-devel/

的示例教程

但是在你开始设置xhprof之前,我建议你看看最近改变了什么代码,安装了哪些模块,也许会尝试一点一点地卸载模块,直到它停止超时。