hkguile
hkguile

Reputation: 4369

laravel using .env but not using config in config\database.php?

I'm learning laravel. I newly created a project and trying to create model, i set up the db config database.php and type php artisan migrate, but there is a error message

C:\xampp\htdocs\l1\blog>php artisan migrate


  [PDOException]
  SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (usin
  g password: YES)

I see it is using .env config but not using config in my config.php, why?

Upvotes: 0

Views: 2426

Answers (1)

Someshwer Bandapally
Someshwer Bandapally

Reputation: 149

You can change the .env file to suit your database config settings as follows

DB_HOST=localhost
DB_MAIN=MYDB
DB_USERNAME=root
DB_PASSWORD=root

Change the values of those keys according to your database connection. And place them in .env file.

restart your server once and proceed.

Other wise you can directly place those values in database.php file by replacing something like env('DB_USERNAME'),env('DB_PASSWORD') with direct values in either single or double quotes as follows

 'main' => [
        'driver'    => 'mysql',
        'host'      =>  '',
        'database'  =>  'mydb',
        'username'  => 'root',
        'password'  => 'root123',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

The code actually present in database.php file can be something as follows

      'main' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_MAIN', 'forge'),
        'username'  => env('DB_USERNAME', 'forge'),
        'password'  => env('DB_PASSWORD', ''),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

You can simply replace these values with above mentioned values.

Upvotes: 3

Related Questions