2016-09-14 2 views
0

Мне нелегко при попытке запустить локальный проект на моем компьютере. Он построен на CakePHP 3.2.x, я запустить его с Dev сервером CakePHP в (бен/торт сервер), но аварии проекта, когда он пытается постраничным что-то для страницы пользователя посадки:Cakephp пытается подключиться к моей машине, а не к базе данных, которую я установил.

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. Вот мой конфиг/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» точек объекта к источнику данных по умолчанию (нет пользовательских datasource config в src/Model/Entity/Analise.php).

Итак, откуда эта конфигурация? Почему cakephp пытается войти в базу данных моего компьютера вместо 192.168.1.43?

+1

Он подключается к надлежащему дБ. Учетные записи mysql - это имя пользователя @ hostname', где имя хоста - это соединение ** FROM **, а не там, где происходит соединение. Итак, ваш [email protected] является недопустимой учетной записью для вашего сервера на .43 –

ответ

1

Не пытайтесь подключиться к компьютеру. Приложение пытается подключиться к правильному источнику данных как 'scqadev'@'192.168.1.63'. Вы должны убедиться, что такой пользователь определен в вашей базе данных. Или (возможно, лучше) пользователь под названием 'scqadev'@'%'.

+0

Ooooooh, я вижу! Спасибо @threeve !!! –

+0

Для большей безопасности используйте '' scqadev '' '192.168.%' ' –

Смежные вопросы