Cakephp正在尝试连接到我的机器而不是我设置的数据库

时间:2016-09-14 14:36:07

标签: php cakephp mariadb php-7

我在尝试在计算机上运行本地项目时遇到了困难。它是在cakephp 3.2.x上构建的,我用cakephp的开发服务器(bin / cake server)运行它,但是当它试图为用户登陆页面分页时项目崩溃了:

Error: SQLSTATE[HY000] [1045] Access denied for user 'scqadev'@'192.168.1.63' (using password: YES) 

主要问题是:192.168.1.63是我的计算机的IP,但我的数据源并没有指向我的机器。我希望它连接到192.168.1.43中的数据库。这是我的config / app.php文件:

 'Datasources' => [
    'default' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => '192.168.1.43',
        'username' => 'scqadev',
        'password' => 'scqadev',
        'database' => 'scqadev',
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'cacheMetadata' => true,
        'log' => false,
        'quoteIdentifiers' => false,
    ],
    'csd' => [
        'className' => 'Cake\Database\Connection',
        'driver' => 'Cake\Database\Driver\Mysql',
        'persistent' => false,
        'host' => '192.168.1.43',
        //'port' => 'nonstandard_port_number',
        'username' => 'csd',
        'password' => 'csd',
        'database' => 'csd',
        'encoding' => 'utf8',
        'timezone' => 'UTC',
        'cacheMetadata' => true,
        'quoteIdentifiers' => false,
        'log' => false,
        //'init' => ['SET GLOBAL innodb_stats_on_metadata = 0'],
    ],
],

问题发生在控制器内的这一行:

 $this->set('analises', $this->paginate($this->Analises));

而我的Analise'实体指向默认数据源(src / Model / Entity / Analise.php中没有自定义数据源配置)。

那么这个配置来自哪里?为什么cakephp尝试登录我的计算机数据库而不是192.168.1.43?

1 个答案:

答案 0 :(得分:1)

它没有尝试连接到您的计算机。应用程序正在尝试将'scqadev'@'192.168.1.63'连接到正确的数据源。您应确保在数据库中定义了此类用户。或者(可能更好)一个名为'scqadev'@'%'的用户。