0

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

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

但是,当我尝试执行任何数据库操作时,它仍然说它正在使用 MySQL。错误显示:“Database_Exception [8192]: mysql_connect(): mysql 扩展已弃用,将来将被删除:请改用 mysqli 或 PDO”。

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

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

谁能看到出了什么问题?

提前致谢。

4

2 回答 2

6

我也碰到过这个问题。

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

在那之前,我已经通过更改 error_reporting 来禁用已弃用的错误index.php

error_reporting(E_ALL & ~E_DEPRECATED);

希望这可以帮助

于 2013-11-22T16:48:27.823 回答
2

仅仅启用模块是不够的。

由于 Kohana 3.3 自动加载器是区分大小写的,所以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 之外的配置文件应该作为示例/蓝图。

于 2013-10-31T23:18:11.810 回答