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

Прислано: rabchevsky

пн, 02/03/2009 - 13: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 в пн, 02/03/2009 - 14:18.

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


Опубликовано penexe в пн, 02/03/2009 - 14:21.

для мета-тегов есть модуль  nodewords
а в коде косяк, скобку наверно незакрыли


Опубликовано rabchevsky в пн, 02/03/2009 - 15:42.

Да, поставил nodewords - полностью удовлетворяет!
Спасибо!


Опубликовано UHSF в вт, 23/03/2010 - 17: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 в пт, 26/03/2010 - 15:26.

Подскажите кто-нибудь что делать!
Я не могу найти решения.


Опубликовано RxB в пт, 26/03/2010 - 15:29.

Внимательный читатель заметит что ошибка не в файле common.inc, а я в коде который вы разместили


Опубликовано UHSF в пт, 26/03/2010 - 15:34.

Так код же из файла. Какая там ошибка?


Опубликовано RxB в пт, 26/03/2010 - 15:45.

Будем спорить?


Опубликовано UHSF в пт, 26/03/2010 - 15:52.

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


Опубликовано RxB в пт, 26/03/2010 - 16:32.

Дубль два:
Внимательный читатель заметит что ошибка не в файле common.inc, а я в коде который вы разместили, видимо, в блоке


Опубликовано UHSF в пн, 29/03/2010 - 13:28.

У меня это появилось после создания пары новых полей в профиле.


Опубликовано UHSF в вт, 30/03/2010 - 14:52.

Сообщение об ошибке в профиле пользователя.
Из-за полей чтоли этих?


Опубликовано volocuga@drupal.org в вт, 30/03/2010 - 15:05.

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

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

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


Опубликовано UHSF в вт, 30/03/2010 - 16:46.

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


Опубликовано volocuga@drupal.org в вт, 30/03/2010 - 17:26.

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

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

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

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

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

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

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

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

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


Опубликовано UHSF в ср, 31/03/2010 - 15:19.

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

"volocuga@drupal.org" написал(а):

(TRUNCATE,не DROP!)

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


Опубликовано UHSF в чт, 22/04/2010 - 15:37.

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


Опубликовано Dendix в пт, 04/06/2010 - 05:33.

"volocuga@drupal.org" написал(а):

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

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

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