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

Discussion in 'Серверные сборки' started by Алексей_2057, Nov 19, 2012.

  1. Offline

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

    Joined:
    Nov 19, 2012
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Суть проблемы:
    На локальной машине стоит 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 Staff Member ⇒ Профи ⇐

    Joined:
    Jan 17, 2011
    Messages:
    7,812
    Likes Received:
    771
    Gender:
    Male
    Экспорт БД только сайта ?
     
  4. Offline

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

    Joined:
    Nov 19, 2012
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Да.
    В phpMyAdmin 4 базы:
    information_schema
    mysql
    phpmyadmin
    old_site //моя база

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

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    честно говоря, ХЗ по чему у тебя так происходит
    но я к примеру на локалке сайт могу размножить таким образом:
    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 likes this.
  6. Offline

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

    Joined:
    Nov 19, 2012
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Спасибо, завтра (уже сегодня!) попробую.
     
  7. Offline

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

    Joined:
    Nov 19, 2012
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Задержался с ответом (устанавливал сам пластиковое окно, хобби у меня такое :) ).
    Сделал все по пунктам, только после п.1 нужно перезапустить Денвер, чтобы он нашел папку с новым сайтом.
    Результат то-же: Error 3.

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

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    не используй виртуальных серверов и на денвере прокатит мой вариант
    а лучше уходи с денвера на более профессиональные сборки, если сам собрать себе сервер не можешь
    а вот mysql или mysqli это разницы нет ни какой, сервер всё равно MySQL используется, а остальное только способы работы с ним (типа драйвера)
     
  9. Offline

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

    Joined:
    Nov 19, 2012
    Messages:
    7
    Likes Received:
    0
    Gender:
    Male
    Спасибо. Но для меня этот вариант, как говорили раньше "уход в Надсистему": Денвер для моих задач вполне устраивает, а заниматься сайтами профессионально такая цель не стоит.
    Но, наверняка, есть решение и очень простое, типа изменение имени базы еще где-то.
    Еще раз спасибо за помощь!
     

Share This Page

Loading...