Drupal 6LTS пытаюсь запустит существующий сайт Drupal 6.38 многое работает, но вот столкнулся со странным. Если авторизуюсь админом на сайте, то при входе в один раздел получаю белый экран - ничего не выводится. В логе ошибок есть такое:
[php7:emerg] PHP Parse error: syntax error, unexpected '<', expecting end of file in /var/www/html/sites/www/modules/computed_field/computed_field.module(297) : eval()'d code on line 1
причём если не авторизоваться - страница нормально выводится.
Фишка в том что на исходном сайте, подобная ошибка в логе есть, но там PHP 5 и страница всё равно отображается.
Куда рыть?
Комментарии
- Проверить что в конце файла стоит } и не стоит типа
?>
- Проверить что в начале фала
<?php
Всё так и есть.
Но вот что получается, если я эту строку заремлю, то всё вроде как и работает...
строка выделена жирным:
/**
* Theme function for 'default' text field formatter.
*/
function theme_computed_field_formatter_default($element) {
$field = content_fields($element['#field_name']);
// For "some" backwards compatibility
$node_field_item['value'] = $element['#item']['value'];
// Allow the value to be formated from code not stored in DB
$display_func = 'computed_field_'. $field['field_name'] .'_display';
if (function_exists($display_func)) {
$display = $display_func($field, $element);
}
else {
eval($field['display_format']);
}
return $display;
}
Ошибка не в модуле computed_field, а в том коде, который у вас используется для расчёта одного из полей.
Написано же, что в eval()
Ну я новичок в этом деле, могу не так понимать или не так выражаться, уж извините ?.
Ну хорошо, там стоит вычисление, и как подобраться к тому коду, неправильному, который туда передается?
Как от eval($field['display_format']) перейти к неправильному коду?
Смотрите, что за поля у вас в проекте с типом computed field, в настройках полей и будет этот кривой код
За направление движения большое спасибо!
Смотрю где ошибка:
ругается на display_format
Нахожу вычисляемое поле:
Иду в изменить и нахожу 2 блока:
1. Computed Code:
2. Display Format:
Если посмотреть в таблице в БД
то как я понимаю ошибка во втором "блоке" (Display Format).
Что-то я не очень понимаю в чём там ошибка м.б. Где в этом коде может быть "unexpected '<'"
Или автор сего кода ошибся и там должно быть исключительно
без <?php ?> ?
Я попробовал это убрать - ошибка пропала. Но мне не совсем ясно, здесь же вроде как php код должен быть, так же как в вычисляемом поле (Computed Code:) выше.