2

forge と環境変数の使用に問題があります。などを使用するgetenv('DB_NAME')と、移行しようとすると接続の問題が発生します。BaseController.phpvar_dumpの値を取得すると、正しい値が得られます。しかし、まだ機能していません。代わりに、指定された var_dump の値を構成database.phpファイルに書き込むと、機能します。しかし、値が正しいのに getenv で動作しないのはなぜですか?

私の BaseController.php では:

var_dump(getenv('DB_HOST'));
var_dump(getenv('DB_NAME'));
var_dump(getenv('DB_USERNAME'));
var_dump(getenv('DB_PASSWORD'));

私のdatabase.phpでは:

'host'      => getenv('DB_HOST'),
'database'  => getenv('DB_NAME'),
'username'  => getenv('DB_USERNAME'),
'password'  => getenv('DB_PASSWORD'),

このコードでは、次のエラー メッセージが表示されます。

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

代わりに、var_dumps から取得した値を BaseController.php に書き込むと、すべて正常に動作します。何か案は?

4

1 に答える 1