[컴][php] lumen 에서 SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO)'




Error : SQLSTATE[HY000] [1045] Access denied for user 'forge'@'localhost' (using password: NO)' 



lumen 을 linux 에서 stage version 으로 publishing 했더니 아래같은 error 가 보였다. 동작에는 이상이 없는 듯 한데, error 가 떠서 신경쓰였다.

[2017-08-07 00:01:56] lumen.ERROR: exception 'PDOException' with message 'SQLSTATE[HY000]
[1045] Access denied for user 'forge'@'localhost' (using password: NO)' 
in /home/cocktail/apps/cocktail_lumen/vendor/illuminate/database/Connectors/Connector.php:68

...


아래 글에서 .env 가 아니라 config/database.php 를 사용하니 괜찮아졌다는 이야기가 있어서 살펴봤다.

일단 내 추측은 처음에 bootstrap/app.php 에서 아래처럼 .env 를 load 하게되는데, 이 때 아마도 .env 의 load 를 실패해서 database.php(.src\vendor\laravel\lumen-framework\config\database.php) 에 기본으로 setting 되어 있는 'forge' 로 DB 접속을 시도한 것처럼 생각된다.

try {
    (new Dotenv\Dotenv(__DIR__.'/../'))->load();
} catch (Dotenv\Exception\InvalidPathException $e) {
    //
}

그러면 확실히 config/database.php 를 만들어서 직접 id, pw 등을 적어주는 것으로 해결이 가능할듯 하다.

그런데 왜 Dotenv\Dotenv(__DIR__.'/../'))->load() 가 실패하는지에 대해서는 의문이다.


댓글 없음:

댓글 쓰기