我正在开发一个使用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)。
有人能看出出了什么问题吗?
提前致谢。
答案 0 :(得分:6)
我也遇到了这个问题。
Kohana论坛已经讨论过这个问题。下一个版本(3.4)将包括对Kohana数据库模块的更改,以便您可以使用MySQLi库。
在此之前,我已通过更改index.php
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之外的配置文件应该作为示例/蓝图。