我在尝试在计算机上运行本地项目时遇到了困难。它是在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?
答案 0 :(得分:1)
它没有尝试连接到您的计算机。应用程序正在尝试将'scqadev'@'192.168.1.63'
连接到正确的数据源。您应确保在数据库中定义了此类用户。或者(可能更好)一个名为'scqadev'@'%'
的用户。