我在一个每小时访问量约为 4000 次的网站的 Apache 日志中收到数百个此类错误。我从未看到任何证据表明这些错误影响了网站的用户体验,但我相信每 100 个请求中可能会发生 1 次这样的情况,因此很难诊断。
这些消息确实很荒谬,因为他们说他们应该终止产生不良用户体验的请求,并且 DRUPAL_ROOT 是在 index.php 中定义的,所以如果它在执行线程中只被调用一次,怎么可能已经定义了呢?
我发现这些错误几乎总是接近核心转储错误记录。有没有关于这里可能发生什么的完整理论?
并且 drupal_bootstrap 没有在“require_once DRUPAL_ROOT . '/includes/bootstrap.inc';”之后定义,这怎么可能呢?
以前有人见过这种事情发生吗?
这些是我在日志中看到的错误:
PHP Notice: Constant DRUPAL_ROOT already defined in /var/www/vhosts/hsbnoticias/index.php on line 17, referer: http://diariodelsur.com.co/noticias/judicial
PHP Fatal error: Call to undefined function drupal_bootstrap() in /var/www/vhosts/hsbnoticias/index.php on line 20, referer: http://diariodelsur.com.co/noticias/judicial
我使用的是 6GB Linode Ubuntu LAMP 单服务器,大约有 300 到 400 个 Apache 预分叉进程。网站似乎运行良好,因此访问者没有报告任何错误,分析中也没有错误的证据,我自己也没有在客户端看到这些错误。
更新 1:核心转储没有透露任何有价值的细节,除了:“ProblemType:Crash”和apport.log中的这些行:
ERROR: apport (pid 2441) Mon Oct 26 09:31:15 2015: called for pid 2326, signal 11, core limit 0
ERROR: apport (pid 2441) Mon Oct 26 09:31:15 2015: executable: /usr/sbin/apache2 (command line "/usr/sbin/apache2 -k start")
ERROR: apport (pid 2441) Mon Oct 26 09:31:15 2015: is_closing_session(): no DBUS_SESSION_BUS_ADDRESS in environment
以下是 Drupal index.php,供参考:http://cgit.drupalcode.org/drupal/tree/index.php?h=7.x