Таинственное число появляется над сгенерированным Drupal HTML при первом посещении страницы - PullRequest
4 голосов
/ 12 ноября 2010

На некоторых страницах моего сайта в Drupal загадочное число появляется над (EDIT: и ниже) HTML-кодом при первом посещении страницы (EDIT) в любом браузере.В IE7 и IE8 проблемные страницы отображаются неправильно, но в других браузерах остальная часть страницы отображается без проблем.После обновления номер обычно исчезает.Мои пользователи говорят мне, что ошибка повторяется каждое утро, хотя я видел один случай, когда пользователь обновляется, и странное число НЕ исчезает.У меня не было проблем с другими браузерами.

Вот первые несколько строк HTML:

3535 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"   http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

.. остальная часть страницы генерируется нормально, и затем я вижу следующеевнизу:

</html> 

0 

Я сбит с толку - ничего не отображается ни в логах apache, ни в моем vhost error.log.Я сделал различие html на страницах с номерами по сравнению со страницами без и помимо чисел сверху и снизу, единственное отличие - это пробел.,Версия PHP 5.2.

Для справки вот мой index.php - я не думаю, что есть что-то, что мы изменили по сравнению со стандартом.

<?php
// $Id: index.php,v 1.94 2007/12/26 08:46:48 dries Exp $

/**
 * (Drupal copyright ommitted for brevity)
 */

require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);

$return = menu_execute_active_handler();

// Menu status constants are integers; page content is a string.
if (is_int($return)) {
  switch ($return) {
    case MENU_NOT_FOUND:
      drupal_not_found();
      break;
    case MENU_ACCESS_DENIED:
      drupal_access_denied();
      break;
    case MENU_SITE_OFFLINE:
      drupal_site_offline();
      break;
  }
}
elseif (isset($return)) {
  // Print any value (including an empty string) except NULL or undefined:
  print theme('page', $return);
}

drupal_page_footer();

Ответы [ 4 ]

5 голосов
/ 12 ноября 2010

Прежде чем тратить много времени на проверку собственного кода, проанализируйте настройки сети.

Около года назад у нас было такое же явление , когда прокси-сервер вставлял числа , подобные этим, на страницы, которые он передавал.

Я не помню подробностей о том, что это был за прокси-сервер и почему он это сделал, но это было довольно очевидно, так как только люди, заходящие на сайт из определенных сетей, могли получить эти цифры.

РЕДАКТИРОВАТЬ: Я не уверен на 100%, но я думаю, что это была эта проблема обратного прокси nginx ( Этот пост может быть также связано. )

3 голосов
/ 12 ноября 2010

Скорее всего, разметка одинакова для всех браузеров, но ее отображает только IE.

Мое лучшее предположение, что где-то есть фрагмент кода отладки, который печатает некоторый идентификатор. Если у вас есть какие-либо модули / темы, которые вы разработали сами, это было бы наилучшим началом.

Если вы не можете найти источник, вы можете попытаться переключить тему и отключить модули, в конечном итоге вы сможете определить его. Сначала попробуйте найти в вашем коде оператор print_r.

0 голосов
/ 13 февраля 2011

Я не знаю, если это та же проблема, но однажды утром на всех страницах Drupal был странный код, показывающий на самом дне, я не понимаю, в любом случае это была страница, которую я создал накануне вечеромпредназначенный для формы обратной связи, я удалил это и все вернулось к нормальному состоянию, в любом случае, иногда это происходит из-за перегрузки catche, просто сделайте phpmyadmin и очистите catche, надеюсь, это поможет, да!

0 голосов
/ 10 января 2011

Предполагая, что вы используете обратный прокси-сервер для всего доступа к Apache, добавьте следующие строки в глобальную конфигурацию (например, apache2.conf ):

SetEnv force-response-1.0 1
SetEnv downgrade-1.0 1

Для моегоУстановка Ubuntu / Debian (с nginx в качестве обратного прокси), я поместил эти строки в / etc / apache2 / conf.d / force-http-1.0.conf

...