[Решено] Перенос сайта на другой хостинг (The mysql error was: The database type is unsupported. Please use either 'mysql' or..)

Главные вкладки

Аватар пользователя Tankha Tankha 19 октября 2009 в 19:57

Немного нестандартная ситуация, хотя точно по теме (РЕШЕНИЕ проблем :)).
В том смысле, что я не спрашиваю совета, а наоборот: проблема решена и я решил поделится потому что даже Гугл выдал мне около 10 ссылок по теме когда я искал решение.

Промучался ночь пытаясь перенести сайт на другой хостинг. Вроде всё нормально и правильно сделал, но все время получал ошибку подключения к mySQL-базе.
Правил вручную файлы на которые ругалось (в папке includes) но ничего не помогало. Ругательства на неправильные пути исчезли и просто - сайт офлайн и ошибка подключения к mysql.

Решение оказалось до обидного простым.
Установить отдельно чистый Drupal, - подсмотреть там настройки коннекта и, главное: просто скопировать всю папку includes с "начисто" установленного пустого движка на движок перенесенный.
После этого всё заработало как часы.

P.S.
Причем что интересно даже версия не критична - мой "чистый" был намного более поздней версии чем переносимый. Просто папка includes, насколько я понимаю мало модифицируется от версии к версии.
Неадеюсь это сообщение попадет в поисковики и люди не будут биться об стену как я. Smile

P.P.S
Т.е. порядок действий такой (как я это делал).

1. Устанавливаю на новый хостинг версию Drupal такую-же как у сайта что нужно перенести (или близкую). Убеждаюсь что пустой сайт работает (достаточно минимальной стандартной конфигурации).
2. Забираю оттуда папку includes и файл sites/default/settings.php (переименовываю например).
3. Всё остальное - удаляю: файлы, папки и саму базу пустого, чистого движка.
4. По FTP заливаю весь каталог с файлами со старого на новый хостинг.
5. Создаю базу и пользователя на новом хостинге (желательно с теми же именами и паролем что было на старом).
6. Мучаюсь немного phpMyAdmin создавая копию базы со старого хостинга (если повезет - всё в один файл, у меня например он 10мб был). Копию создаю с учетом ограничения на новом хостинге (см. следующий пункт).
7. Восстанавливаю все ранее забэкапенные данные и структуру через соответствующую функцию phpMyAdmin во вновь создавнную базу на новом хостинге (нужно учитывать ограничение на размер файла и если размер небольшой, то бэкапить таблицы прийдется со старого хостинга частями - несколькими файлами).
8. Копирую папку includes, сохраненную ранее с начисто установленного на новом хостинге движка (который уже удален и от него была сохранена отдельно только одна папка и один файл).
9. Сверяю сверяю настройки коннекта сохраненного от чистой установки на новый хостинг файла sites/default/settings.php. Сам файл остается тот что был скопирован со старого хостинга, а от сохраненного подсматриваю только настройки, синтаксис строки подлкючения. Если надо - исправляю.
10 Вуаля Smile

Если я в чем-то неправ - поправьте плз. Smile

Комментарии

Аватар пользователя Tankha Tankha 19 октября 2009 в 20:09

Это не главное.
Главное - перенос папки includes из каталога пустого сайта установленного с нуля на новый хостинг в каталог переносимого сайта.

mysql или mysqli - это не проблема, - всего-то два варианта. И это не помогает если в папке includes проблемы (некоторые видны сразу и сразу устраняются, а некоторые вообще себя никак не проявляют, а пишет что ошибка в настройках коннекта mysql, хотя это не так)

Аватар пользователя Geldora Geldora 19 октября 2009 в 20:27

Вообще, при возникновении проблем при переносе стоит:

  • сразу обновить версию Друпала
  • очистить таблицы начинающиеся с cache_ (+ можно search, watchdog и т.п. )

Да, а в теме (Решено) поставьте Wink

Аватар пользователя Tankha Tankha 19 октября 2009 в 20:49

Мне кажется мой путь проще. Smile
Тем более если переносится сайт который ты не знаешь - вдруг он с хакнутым ядром и обновлять сразу опасно?
насчет решено - сейчас исправлю Smile

Добавлено:
Не совсем правильно выразился - дело конечно не в том что проще, а в том что очистить кэш тоже надо (это я недоглядел), но главное - папка includes. У меня на нее ругалось сначала и я начал вручную править приписанные там в файлах пути. Потом ругаться перестало, но видимо что-то там (именно там) глючило, хотя писало что проблема в коннекте к mysql. Заменил папку и проблема "коннекта mysql" пропала.