【问题标题】:Drupal 7 Error causing php max timeoutDrupal 7 错误导致 php 最大超时
【发布时间】:2016-02-19 18:40:14
【问题描述】:

试图追查这个错误。有时,用户会编辑一个节点,然后会发生一些错误,如下所示:

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;
}

用户只能添加内容、上传图片文件和编辑当前内容等。没什么疯狂的。

我不希望提高我的最大超时时间来尝试解决该问题,我们需要找到错误的原因/方式并修复它。

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

谢谢!

【问题讨论】:

  • 你检查过 Drupal 日志和 PHP 错误日志吗?也许他们可以告诉你那里发生了什么。

标签: php mysql drupal drupal-7


【解决方案1】:

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

发生这种情况的原因有很多——当您保存节点时,模块可能试图做太多事情,或者您有一些自定义代码可能再次尝试做太多处理。我们在使用段落模块时遇到过这样的情况,即您添加到节点的段落越多,节点保存的速度就越慢,并且可能会超时。

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

但是在您开始设置 xhprof 之前,我建议您查看最近更改了哪些代码,安装了哪些模块,并可能尝试一点一点地卸载模块,直到它停止超时。

【讨论】:

    猜你喜欢
    • 2015-01-18
    • 1970-01-01
    • 2015-11-03
    • 2021-06-30
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 2018-01-14
    • 2011-07-27
    相关资源
    最近更新 更多