Суть проблемы: На локальной машине стоит Denwer (MySQL 5.1, Apache 2.2.4), установлена Joomla 2.5.8 Все работает ОК. Необходимо перенести сайт на этой-же машине на домен с другим иенем, т.е. произвести замену имени сайта с old_site.ru на new_site.ru. 1. Сделал копию сайта из папки CWebServers\home\old_site.ru\www, скопировал в папку CWebServers\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, эффект тот-же. При обратной замене на старое имя БД и сайта и пересоздании папки старого сайта на диске, все начинает работать.
Да. В phpMyAdmin 4 базы: information_schema mysql phpmyadmin old_site //моя база Экспортировал только old_site
честно говоря, ХЗ по чему у тебя так происходит но я к примеру на локалке сайт могу размножить таким образом: 1. переименовываю сайт в новую папку 2. переименовываю БД (если зайти в каталог mysql то там есть каталог data и в нём БД каждого сайта по каталогам разбиты) 3. правлю конфиг сайта 4. без перезапуска сервера просто в адресной строке новое название сайта но я не использую виртуальных серверов и у меня серверная сборка XAMPP скорее всего в денвере можно сделать что то подобное проверить подключение к БД можно так: Код (PHP): $connect = mysql_connect($host,$db_user,$db_password) or die(mysql_error()); if (!connect) { die(mysql_error()); } $db = mysql_select_db($db_name); print_r($db); а ещё полезно почитать как работае функция mysql_connect, там же есть куча примеров по использованию
Задержался с ответом (устанавливал сам пластиковое окно, хобби у меня такое ). Сделал все по пунктам, только после п.1 нужно перезапустить Денвер, чтобы он нашел папку с новым сайтом. Результат то-же: Error 3. Запрос к базе (в моем случае mysqli) выдает ошибку с кодом 1064. Посмотрел по ссылке о работе функция mysql_connec, перенаправили на mysqli::__construct(), попробовал пример от-туда, не пошло из-за ошибок, надо разбираться. Разбираться нет времени и возможности. Сделал так, может кому-то пригодится: 1. Создал новую базу с новым именем, импортировал в нее старую 2. В каталог с новым сайтом залил новую Joomla, установил ее с новым именем сайта 3. Остановил Денвер, удалил все из каталога \home\new_sitei.ru\www, залил в нее копию нового сайта, сделанную на другой машине с отредактированным конфигом. Запустил Денвер. Все работает нормально. Получается немного через одно место, и не годится для "размножения" сайтов на одной машине, но проблема решена.
не используй виртуальных серверов и на денвере прокатит мой вариант а лучше уходи с денвера на более профессиональные сборки, если сам собрать себе сервер не можешь а вот mysql или mysqli это разницы нет ни какой, сервер всё равно MySQL используется, а остальное только способы работы с ним (типа драйвера)
Спасибо. Но для меня этот вариант, как говорили раньше "уход в Надсистему": Денвер для моих задач вполне устраивает, а заниматься сайтами профессионально такая цель не стоит. Но, наверняка, есть решение и очень простое, типа изменение имени базы еще где-то. Еще раз спасибо за помощь!