2016-02-01 4 views
0
Fatal error: Class 'JDatabaseDriver' not found in /home/jensen/public_html/libraries/joomla/factory.php on line 631 

Я искал в Интернете для ответа на этот вопрос в течение двух дней now.I потратили много времени на JOOMLA форумах, но я не нашел ничего адрес Эта проблема. Надеюсь, я смогу получить здесь какое-то направление.Фатальная ошибка: Class «JDatabaseDriver» не найден

Эта ошибка появляется, когда я иду на сайт http://jensenlocksmithing.com

Однако, если я типа в HTTP: /jensenlocksmithing.com/index.php ошибка снова исчезает. Мне это кажется странным.

Вот блок кода ошибки имеет в виду:

/** * Создание объекта базы данных * * @return JDatabaseDriver * * @see JDatabaseDriver * @since 11,1 */ защищенная статическая функция createDbo() { $ conf = self :: getConfig();

$host = $conf->get('host'); 
    $user = $conf->get('user'); 
    $password = $conf->get('password'); 
    $database = $conf->get('db'); 
    $prefix = $conf->get('dbprefix'); 
    $driver = $conf->get('dbtype'); 
    $debug = $conf->get('debug'); 

    $options = array('driver' => $driver, 'host' => $host, 'user' => $user, 'password' => $password, 'database' => $database, 'prefix' => $prefix); 

    try 
    { 
     $db = JDatabaseDriver::getInstance($options); 
    } 
    catch (RuntimeException $e) 
    { 
     if (!headers_sent()) 
     { 
      header('HTTP/1.1 500 Internal Server Error'); 
     } 

     jexit('Database Error: ' . $e->getMessage()); 
    } 

    $db->setDebug($debug); 

    return $db; 
} 

Я попытался полностью переустановить установку Joomla, чтобы решить эту проблему, и я очистил свой кэш после, но я все еще получаю ошибку.

Любые предложения были бы полезными.

ответ

0

Следующий код должен работать, это то, что я использовал в моем модуле изображений Coppermine Photo Gallery:

$config = JFactory::getConfig(); 
$option = array(); 
$option['driver'] = $config->get('dbtype'); 
$option['host']  = $config->get('host'); 
$option['user']  = $config->get('user'); 
$option['password'] = $config->get('password'); 
$option['database'] = $config->get('db'); 
$option['prefix'] = $config->get('dbprefix'); 

//UNCOMMENT THE FOLLOWING LINE TO VIEW OPTIONS ARRAY CONTENTS   
//print_r($option); 

$db = JFactory::getDBO(); 
try 
{ 
    $db = JDatabase::getInstance($option); 
} 
catch (RuntimeException $e) 
{ 
    JFactory::getApplication()->enqueueMessage($e->getMessage()); 
    $db->setDebug($debug); 
    return false; 
} 
return $db; 

Хотелось бы надеяться, что получает ваша проблема решена.

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