0

我正在尝试设置我的数据库配置,如下所示:http: //kowsercse.com/2011/09/04/kohana-tutorial-beginners/

我已经用我的 mysql 凭据剪切并粘贴了 database.php。然后我得到一个错误,我通过将文件重命名为 Database.php 来修复它。下一个问题是,无论我输入什么,我的凭据都不会改变。错误显示:

Database_Exception [ 2 ]:mysql_connect() [function.mysql-connect]:用户'ivanh'@'localhost'的访问被拒绝(使用密码:否)

MODPATH/database/classes/Kohana/Database/MySQL.php [67]

62      catch (Exception $e)
63      {
64          // No connection exists
65          $this->_connection = NULL;
66 
67          throw new Database_Exception(':error',
68              array(':error' => $e->getMessage()),
69              $e->getCode());
70      }
71 
72      // \xFF is a better delimiter, but the PHP driver uses underscore

所以无论我插入什么,用户名、主机和密码值都不会改变。然后,我在 Database.php 中的代码从http://kohanaframework.org/3.3/guide/database/config 首先使用我自己的数据库值复制,然后按原样复制。没有运气。

其他信息:我在共享的 unix 主机上创建它。 Kohana 3.1.4: Database_Exception [ 2 ]: mysql_connect(): Access denied似乎是一个没有解决方案的类似问题。

任何帮助都会很棒,谢谢。

4

2 回答 2

1

尝试以下步骤:

步骤1:

转到 bootstrap.php
路径 - kohana\application\bootstrap.php 取消
注释数据库访问的以下行 'database' => MODPATH.'database', // 数据库访问

第 2 步: 转到您的配置文件夹,如果没有创建 database.php 文件,请通过提供您的 MySql 凭据使用以下代码创建

路径:kohana\application\config\database.php

注意:首先在你的Mysql中创建一个数据库如果问题没有解决检查你的MySql设置太..可能有错误

    <?php defined('SYSPATH') OR die('No direct access allowed.');

return array
(
    '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?
             * array    variables    system variables as "key => value" pairs
             *
             * Ports and sockets may be appended to the hostname.
             */
            'hostname'   => 'localhost',
            'database'   => 'CHANGE YOUR DATABASE NAME HERE',
            'username'   => 'CHANGE YOUR USER NAME HERE',
            'password'   => 'CHANGE YOUR PASSWORD HERE',
            'persistent' => FALSE,
        ),
        'table_prefix' => '',
        'charset'      => 'utf8',

    ),
    'remote' => array(
        'type'       => 'MySQL',
        'connection' => array(
            /**
             * The following options are available for PDO:
             *
             * string   dsn         Data Source Name
             * string   username    database username
             * string   password    database password
             * boolean  persistent  use persistent connections?
             */
            'dsn'        => 'mysql:host=localhost;dbname=CHANGE YOUR DATABASE NAME HERE',
            'username'   => 'CHANGE YOUR USER NAME HERE',
            'password'   => 'CHANGE YOUR PASSWORD HERE',
            'persistent' => FALSE,
        ),
        /**
         * The following extra options are available for PDO:
         *
         * string   identifier  set the escaping identifier
         */
        'table_prefix' => '',
        'charset'      => 'utf8',
        'caching'      => FALSE,
    ),
);
于 2013-12-27T06:05:44.117 回答
0

我将做出以下假设:

  • 因此,您正在编写“Database.php”,因为 APPPATH/config 中包含您复制的代码的文件确实以大写字母开头。
  • 您没有更改配置阅读器

如果没有提供,Database::instance() 将从Kohana::$config请求一个配置数组。然后 Config_File::load() 将遍历在 APPPATH、启用的模块和 SYSPATH 中找到的所有 /config/database.php 。

Unix 文件系统区分大小写,请注意 Kohana 正在寻找的小写“d”与您的大写“D”。

如果您确实将其命名为“database.php”而不是“Database.php”,请单击“环境”,然后在错误页面上单击“包含的文件”,并确保它已包含在内。如果不是,请进行一些回溯并尝试找出事情何时停止按应有的方式运行,然后说明原因。

编辑:我不知道我是如何错过“将其重命名为 Database.php”的部分,但这并没有解决任何问题。

于 2013-10-10T09:18:09.987 回答