Ошибка при локальном переносе сайта с изменением имени домена

Тема в разделе "Серверные сборки", создана пользователем Алексей_2057, 19.11.2012.

  1. Offline

    Алексей_2057 Недавно здесь

    Регистрация:
    19.11.2012
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Суть проблемы:
    На локальной машине стоит Denwer (MySQL 5.1, Apache 2.2.4), установлена Joomla 2.5.8
    Все работает ОК.
    Необходимо перенести сайт на этой-же машине на домен с другим иенем, т.е. произвести замену имени сайта с old_site.ru на new_site.ru.
    1. Сделал копию сайта из папки C:\WebServers\home\old_site.ru\www, скопировал в папку
    C:\WebServers\home\new_site.ru\www
    2. Сделал в phpMyAdmin полную копию базы для old_site.ru (имя БД: old_site)
    3. Создал новую БД с именем new_site, имя и пароль администратора не менял.
    4. Импортировал в нее копию
    5. Поменял в configuration.php:
    public $db = 'old_site';
    на
    public $db = 'new_site';
    и
    public $log_path = 'Z:\\home\\old_site.ru\\www/logs';
    public $tmp_path = 'Z:\\home\\old_site.ru\\www/tmp';
    на
    public $log_path = 'Z:\\home\\new_site.ru\\www/logs';
    public $tmp_path = 'Z:\\home\\new_site.ru\\www/tmp';
    6. Перезапустил Denwer.

    При обращении в браузере к адресу new_site.ru выдается ошибка:
    Database connection error (3): Could not connect to database
    Ставил на другой машине, с уже установленой Joomla, результат тот-же.

    Что делаю не так?

    Искал в Интернете, но по этой ошибке практически ничего нет, есть в основном по error (2).
    Ясно, что проблема в имени БД, но где еще его надо поменять?
    Пожалуйста помогите.

    Проверялось на более младшей версии Joomla, эффект тот-же.
    При обратной замене на старое имя БД и сайта и пересоздании папки старого сайта на диске, все начинает работать.
     
  2.  
  3. OlegK
    Offline

    OlegK Russian Joomla! Team Команда форума ⇒ Профи ⇐

    Регистрация:
    17.01.2011
    Сообщения:
    7 813
    Симпатии:
    771
    Пол:
    Мужской
    Экспорт БД только сайта ?
     
  4. Offline

    Алексей_2057 Недавно здесь

    Регистрация:
    19.11.2012
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Да.
    В phpMyAdmin 4 базы:
    information_schema
    mysql
    phpmyadmin
    old_site //моя база

    Экспортировал только old_site
     
  5. woojin
    Offline

    woojin Местный Команда форума => Cпециалист <=

    Регистрация:
    31.05.2009
    Сообщения:
    3 206
    Симпатии:
    334
    Пол:
    Мужской
    честно говоря, ХЗ по чему у тебя так происходит
    но я к примеру на локалке сайт могу размножить таким образом:
    1. переименовываю сайт в новую папку
    2. переименовываю БД (если зайти в каталог mysql то там есть каталог data и в нём БД каждого сайта по каталогам разбиты)
    3. правлю конфиг сайта
    4. без перезапуска сервера просто в адресной строке новое название сайта

    но я не использую виртуальных серверов и у меня серверная сборка XAMPP
    скорее всего в денвере можно сделать что то подобное

    проверить подключение к БД можно так:
    Код (PHP):
    1. $connect = mysql_connect($host,$db_user,$db_password) or die(mysql_error());
    2. if (!connect) {
    3.     die(mysql_error());
    4. }
    5. $db = mysql_select_db($db_name);
    6. print_r($db);

    а ещё полезно почитать как работае функция mysql_connect, там же есть куча примеров по использованию
     
    Алексей_2057 нравится это.
  6. Offline

    Алексей_2057 Недавно здесь

    Регистрация:
    19.11.2012
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо, завтра (уже сегодня!) попробую.
     
  7. Offline

    Алексей_2057 Недавно здесь

    Регистрация:
    19.11.2012
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Задержался с ответом (устанавливал сам пластиковое окно, хобби у меня такое :) ).
    Сделал все по пунктам, только после п.1 нужно перезапустить Денвер, чтобы он нашел папку с новым сайтом.
    Результат то-же: Error 3.

    Запрос к базе (в моем случае mysqli) выдает ошибку с кодом 1064.
    Посмотрел по ссылке о работе функция mysql_connec, перенаправили на mysqli::__construct(), попробовал пример от-туда, не пошло из-за ошибок, надо разбираться.
    Разбираться нет времени и возможности.
    Сделал так, может кому-то пригодится:
    1. Создал новую базу с новым именем, импортировал в нее старую
    2. В каталог с новым сайтом залил новую Joomla, установил ее с новым именем сайта
    3. Остановил Денвер, удалил все из каталога \home\new_sitei.ru\www, залил в нее копию нового сайта, сделанную на другой машине с отредактированным конфигом. Запустил Денвер.
    Все работает нормально.
    Получается немного через одно место, и не годится для "размножения" сайтов на одной машине, но проблема решена.
     
    Последнее редактирование: 22.11.2012
  8. woojin
    Offline

    woojin Местный Команда форума => Cпециалист <=

    Регистрация:
    31.05.2009
    Сообщения:
    3 206
    Симпатии:
    334
    Пол:
    Мужской
    не используй виртуальных серверов и на денвере прокатит мой вариант
    а лучше уходи с денвера на более профессиональные сборки, если сам собрать себе сервер не можешь
    а вот mysql или mysqli это разницы нет ни какой, сервер всё равно MySQL используется, а остальное только способы работы с ним (типа драйвера)
     
  9. Offline

    Алексей_2057 Недавно здесь

    Регистрация:
    19.11.2012
    Сообщения:
    7
    Симпатии:
    0
    Пол:
    Мужской
    Спасибо. Но для меня этот вариант, как говорили раньше "уход в Надсистему": Денвер для моих задач вполне устраивает, а заниматься сайтами профессионально такая цель не стоит.
    Но, наверняка, есть решение и очень простое, типа изменение имени базы еще где-то.
    Еще раз спасибо за помощь!
     

Поделиться этой страницей

Загрузка...