9
votes

I have an application with Laravel 4, that runs in localhost correctly, but when I uploaded it in my host I received the error .

app>config>database.php file is:

'mysql' => array(
        'driver'    => 'mysql',
        'host'      => '127.0.0.1',
        'database'  => 'forum',
        'username'  => 'root',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    ),

And bootstrap>start.php is:

$env = $app->detectEnvironment(array(
'local' => array('homestead'),
));
4
Your username or password is incorrect. Consult your host's support pages/documentation in order to find out how to log into your database. If that fails then make use of the support -- that is what it is there for. - Sverri M. Olsen

4 Answers

7
votes

This worked for me:

php artisan config:clear

Even though I changed the config details in the .env file, I was getting the Access denied error. Running the above command will clear configuration cache file and hence laravel will read the fresh data from the .env file.

3
votes

You must find out the credentials of Database host, Database Name , Database Username and Database Password . (If any prefix for tables too) and then replace it with the current credentials.

Use the concept of environments and store values in ENV variables :

http://laravel.com/docs/4.2/configuration

You can store Env Variables as array in .{ENV_NAME}.env.php and access those variables as $_ENV['variable_name'].

3
votes

Maybe you should add double-quotes for password in env:

# Config: database
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db_name
DB_USERNAME=db_user
DB_PASSWORD="db_password"

and

php artisan config:clear
2
votes

Check your mysql database is running perfectly or not. Then check you db user root in mysql with no password and restart your server.