Приветствую всех!
Предупрежу сразу - в дрюпале я нубас каких поискать надо, но ситуация такая, что деваться мне некуда и приходится разбираться.
Короче говоря друг сделал мне сайт на дрюпале (fertility-ecology.com) проработал сайт с месяц и вот вчера всплыла вот такая вот ерундовина:
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'u740840068_pc.semaphore' doesn't exist: SELECT expire, value FROM {semaphore} WHERE name = :name; Array ( [:name] => variable_init ) in lock_may_be_available() (line 167 of /home/u740840068/public_html/includes/lock.inc).
Перерыл весь инет - вариантов решения проблемы - ведро, но я ни один из них не понимаю ибо опыт работы был только с вордпрессом да и сломать боюсь и без того нерабочую систему. Друг вернётся через пару месяцев, а клиентов я теряю уже сегодня....
ДРУГИ МОИ! Прошу помочь, ибо я в отчаянии
Комментарии
проверьте наличие самой базы и ее работоспособности, соединения с ней.
Ну база то есть, и она прописана в settings.php...так что я не знаю что это...возможно у меня сегодня плохой гороскоп
Кстати сейчас зашёл через админку на phpMyAdmin и не нашёл в базе данных ни одной таблицы....это нормально? я просто где то читал что таблицы могут быть прописаны и в другом месте
если вы зашли по данным, которые записаны в settings.php и нашли там пустую базу, то друпал уже ниоткуда ее не возьмет. кто то вам снес базу.
это возможно без лога и пасса сделать? как такое вообще возможно?
к примеру, имея ssh доступ можно сделать все что угодно.
В некоторых случаях это возможно сделать даже через форму комментариев. Тут уж зависит как ваш друг владеет дрюпалом.
Ребят, спасибо вам всем за ответы....только вот что сейчас делать - ума не приложу
Поднимать бэкапы.
Друзья, в общем я тут порылся в нэте и нашёл такую мульку что мол нужно захреначить вот такой sql в phpmyadmin чтоб всё исчезло
CREATE TABLE `semaphore` (
`name` varchar(255) NOT NULL default '',
`value` varchar(255) NOT NULL default '',
`expire` double NOT NULL,
PRIMARY KEY (`name`),
KEY `expire` (`expire`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
так вот, я зашёл, ввёл этот sql, и нет чтоб исчезла ошибка и я стал счастливым человеком, дк phpmyadmin выдал мне #1050 - Table 'semaphore' already exists
я не совсем деревянный и полез искать эту таблицу....но, при переходе в структуру mysql я вижу ахренительно печальную фразу "Таблиц в базе данных не найдено"
как такое может быть?
Друзья, очень надеюсь на вашу помощь
тут ещё нашёл инфу что таблицы могут быть прописаны в каком то файле который лежит на хосте и мол это такая защита чтоб я случайно не снёс таблицы через phpmyadmin....друзья, умоляю, спасите! я реально не знаю что делать...одна надежда на вас
Посмотрите внимательно на настройки в settings.php и на то, что в базе, чудес не бывает.
Возможно, изменился префикс ваших таблиц (u740840068_pc)
Спасибо большое за ответ!
Я проверил - имена БД совпадают как в settings.php так и в myadminphp
у меня тут появилась идея....только вот не знаю как воплотить.
Может кто нибудь знает как запустить update.php?
99% проблема в settings.php и базе.
update.php тут не при чем.
мне все так говорят...я уже перепроверил 100500 раз...тут меня ещё настораживает тот факт что я таблицу не могу добавить (пишет что она уже есть, а на деле там пусто)
Больше нет идей как с этим справиться? я уже голову сломал
ребята! короче всё встало на свои места...мне таки удалось восстановить одну таблицу и стало понятно что моя база данных пуста....сейчас встал вопрос о восстановлении...прошу помогите...может кто нибудь написать пошагово как мне восстановить бд? и возможно ли это? через админку хостингера не получается
Если phpmyadmin при попытке создания таблиц выдает "Table 'semaphore' already exists", значит не все там пусто.
Восстановить базу можно из бэкапа, если он есть. Если его нет - то никак (возможно, бэкапы есть у хостера).
Я настоятельно рекомендую ничего руками не трогать и обратиться к знающему человеку.
Спасибо за надежду на восстановление) буду ждать ответа от хостера
Да что вы говорите))))
Timofey Ostanin, согласно твоим рассказам - 90% что это глюк на стороне БД. Помочь может только админ хостинга.
При апгрейде 6 на 7 выскакивает ошибка «Base table or view already exists". Решить удалось та. Сделал дамп базы, потом полностью снес базу друпала (не только таблицу, но и всю базу) и пользователя, имеющего на нее права. Заново создал пользователя и пустую базу, залил в нее данные из дампа. Сработало.