首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kohana PHP框架MySQL数据库连接异常

问Kohana PHP框架MySQL数据库连接异常
EN

Stack Overflow用户
提问于 2014-05-01 21:27:52
回答 1查看 1.9K关注 0票数 0

我已经创建了一个网站与Kohana PHP框架,版本3.1.3.1。该网站已经在生产中运行良好。我刚在一年后回到它,并尝试设置本地实例,因为我需要做一些更新。

由于某些原因,我一直在浏览器中得到以下异常:

代码语言:javascript
复制
Database_Exception [ 0 ]:
MODPATH/database/classes/kohana/database/mysql.php [ 67 ]
62      catch (ErrorException $e)
63      {
64          // No connection exists
65          $this->_connection = NULL;
66 
67          throw new Database_Exception(':error',
68              array(':error' => mysql_error()),
69              mysql_errno());
70      }
71 
72      // \xFF is a better delimiter, but the PHP driver uses underscore
MODPATH/database/classes/kohana/database/mysql.php [ 158 ] » Kohana_Database_MySQL->connect()
MODPATH/database/classes/kohana/database/mysql.php [ 347 ] » Kohana_Database_MySQL->query(arguments)
MODPATH/orm/classes/kohana/orm.php [ 1551 ] » Kohana_Database_MySQL->list_columns(arguments)
MODPATH/orm/classes/kohana/orm.php [ 439 ] » Kohana_ORM->list_columns(arguments)
MODPATH/orm/classes/kohana/orm.php [ 386 ] » Kohana_ORM->reload_columns()
MODPATH/orm/classes/kohana/orm.php [ 300 ] » Kohana_ORM->_initialize()
MODPATH/orm/classes/kohana/orm.php [ 109 ] » Kohana_ORM->__construct(arguments)
APPPATH/classes/controller/index.php [ 20 ] » Kohana_ORM::factory(arguments)
{PHP internal call} » Controller_Index->action_index()
SYSPATH/classes/kohana/request/client/internal.php [ 132 ] » ReflectionMethod->invokeArgs(arguments)
SYSPATH/classes/kohana/request.php [ 1129 ] » Kohana_Request_Client_Internal->execute(arguments)
DOCROOT/index.php [ 109 ] » Kohana_Request->execute()

没有附加有用的调试信息。到数据库本身的连接似乎正常工作,因为我在故意提供无效凭据时确实得到了特定的异常:

代码语言:javascript
复制
Database_Exception [ 1045 ]: Access denied for user 'root'@'localhost' (using password: YES)

这是"database.php“的摘录

代码语言:javascript
复制
'default' => array
    (
        'type'       => 'mysql',
        'connection' => array(
            /**
             * The following options are available for MySQL:
             *
             * string   hostname     server hostname, or socket
             * string   database     database name
             * string   username     database username
             * string   password     database password
             * boolean  persistent   use persistent connections?
             *
             * Ports and sockets may be appended to the hostname.
             */
            'hostname'   => '127.0.0.1',
            'database'   => 'databasename',
            'username'   => 'root',
            'password'   => '',
            'persistent' => FALSE,
        ),
        'table_prefix' => '',
        'charset'      => 'utf8',
        'caching'      => FALSE,
        'profiling'    => TRUE,

我发现,当我更改一些无效字符串的'database‘键时,异常保持不变。Kohana是否可以连接到MySQL服务器,但无法访问任何数据库?

为了测试它,我尝试在Kohana应用程序中使用"mysqli“执行简单的脚本,并var_dump一些基本的查询结果。它可以连接到数据库并列出所有的表,因此kohana的ORM模块尝试与数据库通信的方式似乎有些有趣。

我以前在Windows下工作过(一年前..)除了我切换到linux (现在使用Ubuntu 14.04 )之外,我不知道到底出了什么问题。我正在使用XAMP for linux (xampp-linux-x64-1.8.3-4-installer.run)来运行apache、php和mysql。

将非常感谢您的帮助!

EN

回答 1

Stack Overflow用户

发布于 2014-05-19 17:02:21

如果您root帐户没有密码,正确的语法是

代码语言:javascript
复制
        'password'   => FALSE,
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23408674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档