Fatal error: Неизвестная функция в Блоке.

Хотел попробовать работу функции PHP в Блоке. То есть создаётся Блок и вставляется туда функция, которая должна вывести информацию. Функцию я вставил, да видно где-то ошибся в написании. После нажатия на кнопочку "Обновить" на панели Internet Explorer получил на фоне чистого экрана вот такую надпись Fatal error: Call to undefined function: module_exist() in z:\home\firsthand5.ru\www\includes\common.inc(1342) : eval()'d code on line 2 Попытки как-то вернуть работоспособность сайта, да к тому же недавно только востановленного из старой версии, щёлкая по кнопочкам браузера, ни к чему не привели. После того как я вспомнил что не сделал копию с последними, и не малыми, изменениями моё настроение упало и упало сильно. Делать нечего, терять теперь уже тем более. Либо найти способ как-то исправить, либо придётся всё восстанавливать заново, что естественно не очень то хотелось. Так как это началось после экспериментов с Блоком, то и искать надо испорченный Блок. Все данные CMS Drupal хранятся в базе данных MySQL. База данных MySQL представляет набор таблиц, связанных между собой определённым способом и по определённым правилам. Запустив "phpMyAdmin - администрирование СУБД MySQL" и выбрав испорченную базу, вижу две таблицы, которые как-то можно связать с Блоком (bloсk) - это blocks и blocks_roles. Что-бы всё окончательно не испортить я сохраняю эти таблицы при помощи режима Экспорт и возвращаюсь опять к Структуре . Выделяю таблицу blocks и выбираю Действие - Обзор . Появляется таблица где первая строка содержит наименования полей таблицы, остальные строки содержат данные. Меня заинтересовали столбцы module, status, region и title. Судя по содержанию в столбце module хранятся данные о модуле, который создал блок, в столбце status хранятся данные о том включен блок или нет (то есть будет он отображаться или не будет), region - в каком месте показать и title - заголовок блока. По содержанию в этих столбцах я вычислил тот блок, в котором находиться плохая функция, но самого текста нет. То есть нельзя исправить написание функции. Но зато, если блок отключить, не выводить, то и функция не должна работать. Для этого выделяю строку с нужным блоком и нажимаю на Правка (карандашик), для поля status меняю значение с 1 в 0 и нажимаю на кнопку Пошёл. Всё блок должен быть отключен и можно попробовать. Обновляю страницу сайта и она появилась. Надпись Fatal error: Call to undefined function: module_exist() in z:\home\firsthand5.ru\www\includes\common.inc(1342) : eval()'d code on line 2 изчезла. Перехожу в настройки Блоков и исправляю функцию. Всё работает.

Январь 2007
http://www.firsthand.ru/

Тематика:

Комментарии

седня ту же самую проблему словила, когда с блоками разбиралась... помогло восстановление из бекапа ) спасибо за совет, в следующий раз воспользуюсь )

Спасибо :)

Недавно тоже в это вляпался, благодаря данному мануалу быстро все исправил. А вообще чтобы этого не происходило нужно не ленится и сразу выставлять в блоках чтобы не показывалось на страницах "admin/*" тогда можно спокойно зайти на страницы управления блоками и по нормальному их отключить.