web-dev-qa-db-fra.com

Erreur Laravel 5 SQLSTATE [HY000] [1045] Accès refusé pour l'utilisateur 'Homestead' @ 'localhost' (avec mot de passe: YES)

J'ai installé Laravel 5 avec succès et modifié les informations d'identification MySQL du fichier database.php du répertoire de configuration en. '

mysql' => [
            'driver'    => 'mysql',
            'Host'      => env('DB_Host', 'localhost'),
            'database'  => env('DB_DATABASE', 'wdcollect'),
            'username'  => env('DB_USERNAME', 'root'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

Je ne veux pas utiliser Homestead et j'ai changé le fichier .env en

APP_ENV=local
APP_DEBUG=true
APP_KEY=apLIzEMOgtc5BUxdT9WRLSvAoIIWO87N

DB_Host=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_Host=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null

Je ne comprends pas pourquoi on dit que l'accès est refusé pour 'Homestead' @ 'localhost'

14
user1392035

Ça marche maintenant. Je devais redémarrer le serveur. Merci

27
user1392035

Vous devez exécuter ces deux commandes

php artisan cache:clear
php artisan config:cache
10

Aucune de ces solutions n'a fonctionné pour moi lorsque j'ai déployé mon site Web en ligne sur l'hébergement partagé. Voici ce que j'ai fait qui a fonctionné.

Dans le fichier .env, j'ai changé 

DB_Host=127.0.0.1

à 

DB_Host=localhost

et alto, cela a bien fonctionné comme prévu.

9
BlackPearl

si vous utilisez auparavant localhost et root, votre fichier est mis en cache

supprimer /bootstrap/cache/config.php

3
Omid Ahmadyani

Essayez de récupérer le fichier ".env" dans votre répertoire racine. Ce sera un fichier caché. Corrigez ces valeurs.

 DB_Host=localhost
 DB_DATABASE=Homestead
 DB_USERNAME=Homestead
 DB_PASSWORD=secret
2
Harish Lalwani

Vous n'avez pas besoin de définir les informations d'identification dans le fichier database.php. C'est suffisant si vous avez des informations d'identification dans .env

Si vous parvenez à vous connecter directement à la base de données, alors ce mot de passe doit fonctionner. Il est possible que votre environnement soit différent de celui du "local" défini dans ce fichier. Le test est avec "php artisan env"

2
Margus Pala

Veuillez mettre à jour le fichier ci-dessous.

fournisseur - .env - sur la ligne 7

 DB_Host=localhost
 DB_DATABASE=Homestead
 DB_USERNAME=Homestead
 DB_PASSWORD=secret

Au lieu d'utiliser Homestead, utilisez votre base de données, votre nom d'utilisateur et votre mot de passe. Cela devrait fonctionner pour vous.

1
golucoder

Cela fonctionne pour moi:

php artisan config:clear
php artisan cache:clear
php artisan config:cache

Merci. 

1
Y. Joy Ch. Singha

Mettre à jour le fichier .env

 DB_Host=localhost
 DB_DATABASE=Homestead
 DB_USERNAME=Homestead
 DB_PASSWORD=secret

Après, redémarrez le serveur

0
Faridul Khan

Au lieu d'utiliser cette

DB_Host=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=

Utilisez ceci

DB_Host=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=''
0
Ali Khurram

Faites correspondre le fichier .env et le fichier config.php avec votre nom d'utilisateur et votre mot de passe et votre nom d'hôte dans la base de données settings. S'ils ne sont pas égaux, la relation ne se connectera pas.

0
asghar

Je suis venu avec ceci aussi ... je le résous en mettant les informations de la base de données directement dans "database.php" Dans votre cas, je changerais les informations comme ceci

mysql' => [
        'driver'    => 'mysql',
        'Host'      => 'localhost',
        'database'  => 'wdcollect',
        'username'  => 'root',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

et n'oubliez pas de changer vos paramètres dans le fichier config.inc de XAMPP

['auth_type'] = 'config';
['Servers'][$i]['user'] = 'root';
['Servers'][$i]['password'] = '';
['AllowNoPassword'] = true;
0
Let's Yo