2013-10-31 3 views
0

Я работаю над проектом, использующим Kohana 3.3. У меня возникла проблема, когда я хочу подключиться к базе данных. Приложение говорит мне, что использует MySQL, и оно уменьшилось.Kohana 3.3 не используется драйвер MySQLi

Для решения этой проблемы я загрузил драйвер MySQLi для Kohana 3.3 и выполнил инструкции (создание папки mysqli в папке модулей и добавление новой строки в bootstrap.php для ее включения).

Однако, когда я пытаюсь выполнить любые действия с базой данных, он все еще говорит, что использует MySQL. Ошибка читает: «Database_Exception [8192]: mysql_connect(): расширение mysql устарело и будет удалено в будущем: вместо этого используйте mysqli или PDO».

Линия я использую для того, чтобы модуль является 'mysqli' => MODPATH.'mysqli', // MySQLi support for Kohana

Драйвер MySQLi я использую this (ссылки на GitHub).

Может ли кто-нибудь увидеть, что происходит не так?

Заранее спасибо.

+0

Вы используете модули '' mysqli' и database' в то же время? Я думаю, что это не должно быть объявлено как модуль, а скорее как драйвер в вашем модуле DB – kero

ответ

2

Простое включение модуля недостаточно.

Since Kohana 3.3 the autoloader is case sensitive, поэтому MODPATH/mysqli/classes/kohana/database/mysqli.php должно стать, например, MODPATH/mysqli/classes/Kohana/Database/MySQLi.php.

Вам необходимо отредактировать APPPATH/config/database.php и установить драйвер в «MySQLi» или установить для базы данных :: $ default правильное имя экземпляра базы данных по умолчанию. (Тот, в котором используется «MySQLi» в качестве драйвера.)

И, чтобы быть уверенным, НЕ редактируйте файлы конфигурации вне APPPATH. Вместо этого скопируйте файл в APPPATH и отредактируйте этот файл. Обычно вам не нужно редактировать файлы за пределами APPPATH. Разумеется, возможно обновление модулей для работы с новой версией. Но конфигурационные файлы вне APPPATH должны служить примерами/чертежами.

6

Я столкнулся с этим вопросом.

Проблема обсуждалась на форумах Kohana. В следующей версии (3.4) будут внесены изменения в модуль базы данных Kohana, чтобы вы могли использовать библиотеку MySQLi.

До тех пор я никогда инвалиды устаревшие ошибки, возникающие при изменении error_reporting в index.php

error_reporting(E_ALL & ~E_DEPRECATED); 

Надеется, что это помогает

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