Cakephp 正在尝试连接到我的机器而不是我设置的数据库
Cakephp is trying to connect to my machine instead of the database I've setup
我在尝试 运行 我的计算机中的本地项目时遇到困难。它建立在 cakephp 3.2.x 上,我 运行 它与 cakephp 的开发服务器(bin/cake 服务器),但项目崩溃时尝试为用户登录页面分页:
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 的数据库?
它没有尝试连接到您的计算机。应用程序正在尝试连接到正确的数据源 'scqadev'@'192.168.1.63'
。您应该确保在您的数据库中定义了此类用户。或者(可能更好)一个名为 'scqadev'@'%'
.
的用户
我在尝试 运行 我的计算机中的本地项目时遇到困难。它建立在 cakephp 3.2.x 上,我 运行 它与 cakephp 的开发服务器(bin/cake 服务器),但项目崩溃时尝试为用户登录页面分页:
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 的数据库?
它没有尝试连接到您的计算机。应用程序正在尝试连接到正确的数据源 'scqadev'@'192.168.1.63'
。您应该确保在您的数据库中定义了此类用户。或者(可能更好)一个名为 'scqadev'@'%'
.