Parse error: syntax error, unexpected T_STRING in /home/u1912/public_html/includes/common.inc(1645) : eval()'d code on line 2

Главные вкладки

Аватар пользователя rabchevsky rabchevsky 2 марта 2009 в 16:49

Здравствуйте!
Версия 6,10
Необходимо добавить в заголовок страниц на сайте мета-теги
endyceo создал блок с соответствующим php кодом.

Проблема в том, что если не включаешь модуль php code, то теги генерируются, но в заголовке сайта торчат кишки - видно вызов php функций - не хорошо.

А если включаешь php code, то выпадает ошибка
Parse error: syntax error, unexpected T_STRING in /home/u1912/public_html/includes/common.inc(1645) : eval()'d code on line 2 и теги не генирируются.

Куда копать друзья? Или может вообще для мета-тегов есть модуль какой нибудь?

В 1645 строке, соответственно:

print eval('?>'. $code);

а с 1628-1653:

function drupal_eval($code) {
  global $theme_path, $theme_info, $conf;

  // Store current theme path.
  $old_theme_path = $theme_path;

  // Restore theme_path to the theme, as long as drupal_eval() executes,
  // so code evaluted will not see the caller module as the current theme.
  // If theme info is not initialized get the path from theme_default.
  if (!isset($theme_info)) {
    $theme_path = drupal_get_path('theme', $conf['theme_default']);
  }
  else {
    $theme_path = dirname($theme_info->filename);
  }

  ob_start();
  print eval('?>'. $code);
  $output = ob_get_contents();
  ob_end_clean();

  // Recover original theme path.
  $theme_path = $old_theme_path;

  return $output;
}

Комментарии

Аватар пользователя seaji seaji 2 марта 2009 в 17:18

А как на счет того, что бы прямо в page.tpl.php прописать мета теги?
Если нужны динамичные теги, то там же делаете print $var
А все необходимые переменные подготавливаете в tamplate.php

Аватар пользователя UHSF UHSF 23 марта 2010 в 20:42

У меня подобная ошибка:
Parse error: syntax error, unexpected '>' in /home/.../public_html/.../includes/common.inc(1695) : eval()'d code on line 1

Вот строчка 1695:
print eval('?>'. $code);

Как исправить можно?

Аватар пользователя UHSF UHSF 26 марта 2010 в 18:52

Я этот фрагмент кода скопировал из файла common.inc на 1695 строке.
Увы, но я не программист. И я не знаю что делать.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 30 марта 2010 в 19:05

Ошибка в common.inc слишком общая и не связана с ошибкой в файле ядра - там всё ок,не надо туда даже лазить

Припомните,какие действия вы совершили ДО

Поотключайте в БД вручную модули и/или блоки,которые,возможно причастны к этому.

Аватар пользователя UHSF UHSF 30 марта 2010 в 20:46

Действий было много. Какие именно я не вспомню никак.
Ошибку обнаружил когда зарегистрировался на сайте(как обычный пользователь) и полез в профиль нового пользователя-там она и написана.
В моём админ-профиле ошибки нет.

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 30 марта 2010 в 21:26

UHSF: просто на будущее: первым делом всегда ставьте модуль backup_migrate и задавайте автоматический бэкап раз часа в 2

если непонятные проблемы - всегда можно откатить

В вашем случае (ничего не понятно и нет никаких идей на этот счёт)может помочь такое:

1)Открыть PHPMyAdmin и очистить (TRUNCATE,не DROP!) все таблицы с префиксом cache_. Так вы убьёте весь кэш.Бывает помогает

2)Отключить в таблице system все доп модули путём установки "0" в поле status

3)Отключить все посторонние блоки,где это делается уже не помню.Аналогично,поменять 1 на 0

4)Отключить свою тему и поставить гарланд - тоже в таблице system

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

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

Аватар пользователя UHSF UHSF 31 марта 2010 в 19:19

А можно как-нибудь без базы данных?
Ато мне уже непонятно:

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
(TRUNCATE,не DROP!)

Можно отключая модули из админки?

Аватар пользователя UHSF UHSF 22 апреля 2010 в 19:37

Эта ошибка у меня была когда в профиле в статусе не было ничего написано.
Написал-статус есть, ошибки нет.)

Аватар пользователя Dendix Dendix 4 июня 2010 в 9:33

"<a href="mailto:volocuga@drupal.org">volocuga@drupal.org</a>" wrote:
2)Отключить в таблице system все доп модули путём установки "0" в поле status

3)Отключить все посторонние блоки,где это делается уже не помню.Аналогично,поменять 1 на 0


спасибо! помогло..