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 строке, соответственно:
а с 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; }
- rabchevsky's blog
- Для комментирования войдите или зарегистрируйтесь
А как на счет того, что бы прямо в page.tpl.php прописать мета теги?
Если нужны динамичные теги, то там же делаете print $var
А все необходимые переменные подготавливаете в tamplate.php
- Для комментирования войдите или зарегистрируйтесь
для мета-тегов есть модуль
nodewords
а в коде косяк, скобку наверно незакрыли
- Для комментирования войдите или зарегистрируйтесь
Да, поставил nodewords - полностью удовлетворяет!
Спасибо!
- Для комментирования войдите или зарегистрируйтесь
У меня подобная ошибка:
Parse error: syntax error, unexpected '>' in /home/.../public_html/.../includes/common.inc(1695) : eval()'d code on line 1
Вот строчка 1695:
print eval('?>'. $code);
Как исправить можно?
- Для комментирования войдите или зарегистрируйтесь
Подскажите кто-нибудь что делать!
Я не могу найти решения.
- Для комментирования войдите или зарегистрируйтесь
Внимательный читатель заметит что ошибка не в файле common.inc, а я в коде который вы разместили
- Для комментирования войдите или зарегистрируйтесь
Так код же из файла. Какая там ошибка?
- Для комментирования войдите или зарегистрируйтесь
Будем спорить?
- Для комментирования войдите или зарегистрируйтесь
Я этот фрагмент кода скопировал из файла common.inc на 1695 строке.
Увы, но я не программист. И я не знаю что делать.
- Для комментирования войдите или зарегистрируйтесь
Дубль два:
Внимательный читатель заметит что ошибка не в файле common.inc, а я в коде который вы разместили, видимо, в блоке
- Для комментирования войдите или зарегистрируйтесь
У меня это появилось после создания пары новых полей в профиле.
- Для комментирования войдите или зарегистрируйтесь
Сообщение об ошибке в профиле пользователя.
Из-за полей чтоли этих?
- Для комментирования войдите или зарегистрируйтесь
Ошибка в common.inc слишком общая и не связана с ошибкой в файле ядра - там всё ок,не надо туда даже лазить
Припомните,какие действия вы совершили ДО
Поотключайте в БД вручную модули и/или блоки,которые,возможно причастны к этому.
- Для комментирования войдите или зарегистрируйтесь
Действий было много. Какие именно я не вспомню никак.
Ошибку обнаружил когда зарегистрировался на сайте(как обычный пользователь) и полез в профиль нового пользователя-там она и написана.
В моём админ-профиле ошибки нет.
- Для комментирования войдите или зарегистрируйтесь
UHSF: просто на будущее: первым делом всегда ставьте модуль backup_migrate и задавайте автоматический бэкап раз часа в 2
если непонятные проблемы - всегда можно откатить
В вашем случае (ничего не понятно и нет никаких идей на этот счёт)может помочь такое:
1)Открыть PHPMyAdmin и очистить (TRUNCATE,не DROP!) все таблицы с префиксом cache_. Так вы убьёте весь кэш.Бывает помогает
2)Отключить в таблице system все доп модули путём установки "0" в поле status
3)Отключить все посторонние блоки,где это делается уже не помню.Аналогично,поменять 1 на 0
4)Отключить свою тему и поставить гарланд - тоже в таблице system
Если после этого сайт зашевелится, последовательно включать отключенное до появление ошибки. Так можно локализировать проблему
Друпал достаточно устойчивая система,которую так просто убить навсегда затруднительно, если не лезть грязными руками в базу
- Для комментирования войдите или зарегистрируйтесь
А можно как-нибудь без базы данных?
Ато мне уже непонятно:
(TRUNCATE,не DROP!)
Можно отключая модули из админки?
- Для комментирования войдите или зарегистрируйтесь
Эта ошибка у меня была когда в профиле в статусе не было ничего написано.
Написал-статус есть, ошибки нет.)
- Для комментирования войдите или зарегистрируйтесь
2)Отключить в таблице system все доп модули путём установки "0" в поле status
3)Отключить все посторонние блоки,где это делается уже не помню.Аналогично,поменять 1 на 0
спасибо! помогло..
- Для комментирования войдите или зарегистрируйтесь





Комментарии