Kohana 3.3不使用MySQLi驱动程序

时间:2013-10-31 08:48:39

标签: php mysql mysqli kohana-3.3

我正在开发一个使用Kohana 3.3的项目。 我遇到了一个我想连接数据库的问题。该应用程序告诉我它正在使用MySQL并且已经破坏了。

为了解决这个问题,我已经为Kohana 3.3下载了一个MySQLi驱动程序,并按照说明进行操作(在modules文件夹中创建一个mysqli文件夹,并在bootstrap.php中添加一个新行以启用它。)

然而,当我尝试执行任何数据库操作时,它仍然说它正在使用MySQL。 错误读取:“Database_Exception [8192]:mysql_connect():不推荐使用mysql扩展,将来将删除:使用mysqli或PDO代替”。

我用来启用该模块的行是'mysqli' => MODPATH.'mysqli', // MySQLi support for Kohana

我正在使用的MySQLi驱动程序是this(链接到github)。

有人能看出出了什么问题吗?

提前致谢。

2 个答案:

答案 0 :(得分:6)

我也遇到了这个问题。

Kohana论坛已经讨论过这个问题。下一个版本(3.4)将包括对Kohana数据库模块的更改,以便您可以使用MySQLi库。

在此之前,我已通过更改index.php

中的error_reporting来禁用已弃用的错误
error_reporting(E_ALL & ~E_DEPRECATED);

希望这有帮助

答案 1 :(得分: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”或将Database :: $ default设置为正确的默认数据库实例名称。 (使用'MySQLi'作为驱动程序的那个。)

为了确保,请不要编辑APPPATH之外的配置文件。而是将文件复制到APPPATH并编辑该文件。您通常不应该编辑APPPATH之外的文件。当然,允许更新模块以使用新版本。但是APPPATH之外的配置文件应该作为示例/蓝图。