尝试追踪此错误。有一段时间,用户将编辑一个节点,并发生一些错误,如下所示:
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;
}
用户只能添加内容,上传图像文件和编辑当前内容等。没什么了不起的。
我不打算在我的最大超时时间内尝试解决问题,我们需要找到导致错误的位置和方法并修复它。
如果有人对此问题有任何反馈,请告诉我。
谢谢!
答案 0 :(得分:0)
通常在这些情况下line 53
不会成为罪魁祸首,它只是在执行时间不足时执行的代码。
这可能有很多原因 - 当您保存节点时,模块可能会尝试执行太多操作,或者您有一些自定义位代码可能会尝试执行过多处理。我们在使用Paragraphs模块的情况下,你添加到节点的段落越多,节点保存得越慢,它可能会超时。
除非您可以在日志中发现可能触发此问题的内容,或者可以想到您最近安装的可能导致它的任何模块,否则很难进行调试和修复。如果您遇到困难,我之前用于性能调试的最佳工具是Xhprof。在大多数情况下,罪魁祸首是什么变得非常清楚。 以下是我过去安装xhprof - http://www.pixelite.co.nz/article/profiling-drupal-7-performance-xhprof-and-devel/
的示例教程但是在你开始设置xhprof之前,我建议你看看最近改变了什么代码,安装了哪些模块,也许会尝试一点一点地卸载模块,直到它停止超时。