【问题标题】:Kohana 3.3 not using MySQLi driverKohana 3.3 不使用 MySQLi 驱动程序
【发布时间】:2013-10-31 08:48:39
【问题描述】:

我正在开发一个使用 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 驱动程序是 this(链接到 github)。

谁能看出发生了什么问题?

提前致谢。

【问题讨论】:

  • 您是否同时使用模块mysqlidatabase?我认为这不应该被声明为模块,而应该被声明为 DB 模块中的驱动程序

标签: php mysql mysqli kohana-3.3


【解决方案1】:

我也遇到过这个问题。

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

在此之前,我已通过更改 index.php 中的 error_reporting 来禁用出现的弃用错误

error_reporting(E_ALL & ~E_DEPRECATED);

希望对你有帮助

【讨论】:

    【解决方案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 之外的配置文件应该作为示例/蓝图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2013-08-29
      • 2012-11-15
      • 1970-01-01
      • 2015-11-24
      相关资源
      最近更新 更多