2009-11-23 2 views
1

Это звучит очень легко исправить, но я работал над ним некоторое время.Joomla Cant Подключиться к DB

Database Error: Unable to connect to the database:Could not connect to MySQL 

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

Я захватил все файлы с сайта с помощью FTP. Был сброс базы данных. Поместите БД на мою локальную машину, скопируйте файлы Joomla в подпапку моего корневого сервера. Изменены переменные конфигурации, соответствующие текущей настройке PHP, Mysql, Apache.

Теперь я поставил test.php, который подключил и запросил DB.

$db = mysql_connect("localhost","root","sunshine") or die ('Unable to connect to Database!'); 
mysql_select_db("iweb"); 

$query = "SELECT * FROM jos_content LIMIT 0 , 30"; 
$results = mysql_query($query); 
while($row = mysql_fetch_assoc($results)){ 
    echo '<br>'.$row['title']; 
} 

однако, когда я ставлю те же БД учетных данных в configuration.php он дает вышеупомянутую ошибку.

Я смотрел на .htaccess и ничего не нашел.

У кого-нибудь есть идеи, что здесь происходит?

Joomla 1.5.4, Apache 2.2.X PHP 5.2.X в Windows XP Professional Box.

ответ

0

Если у вас все еще есть эта проблема, самым простым решением является установка JoomlaPack на ваш сервер для резервного копирования. Загрузите zip-файл на локальный сервер, разархивируйте файл, укажите свой веб-браузер в распакованной папке и следуйте инструкциям. Если вы собираетесь перемещаться между живыми и локальными серверами, это обязательная программа.

0

Вам не нужно подключаться вручную к базе данных с помощью mysql_connect, потому что joomla использует собственный механизм для подключения к базе данных. Все, что вам нужно сделать, это указать параметры db в файле конфигурации configuration.php, который присутствует в корневой папке установки joomla. После того, как вы сделали это, вы запускать запросы сразу, например, это то, что вам нужно:

$query = "SELECT * FROM jos_content LIMIT 0 , 30"; 
$results = mysql_query($query); 
while($row = mysql_fetch_assoc($results)){ 
    echo '<br>'.$row['title']; 
} 

однако, когда я ставлю те же БД учетных данных в configuration.php это дает вышеупомянутое ошибка.

Убедитесь, что:

  • Вы задаете правильные параметры БД
  • Файл конфигурации доступен для чтения Joomla, проверьте права доступа.
0

Просто замените

"вар $ DBTYPE = 'MySQL';"

с

"вар $ DbType = 'Mysqli';"

в глобальной конфигурации.

Я думаю, что это работает.

1

Попробуйте 127.0.0.1 вместо localhost. Это то же самое, но иногда (и в моей конфигурации тоже) работает только ip.

Смежные вопросы