2015-03-31 7 views
8

Ich habe Laravel 5 erfolgreich installiert und die MySQL-Anmeldeinformationen in der Datenbank.php im Konfigurationsverzeichnis auf geändert ‚Laravel 5 Fehler SQLSTATE [HY000] [1045] Zugriff verweigert für Benutzer 'Homestead' @ 'localhost' (mit Passwort: YES)

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, 
     ], 

ich will nicht Gehöft verwenden, und ich habe .env Datei zu

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 

ich verstehe nicht geändert, warum es sagt, dass der Zugang für verweigert‚Heimstätte‘@‘ localhost '

+0

Haben Sie überprüft die Berechtigungen für diesen Benutzer in MySQL? – beresfordt

+0

Wie kann ich das tun? – user1392035

+0

Persönlich würde ich versuchen, mit diesen Anmeldeinformationen in der Befehlszeile mit dem 'mysql' Befehl zu verbinden. Loggen Sie sich dann als root ein, vergewissern Sie sich, dass der Benutzer berechtigt ist, sich mit localhost zu verbinden, und setzen Sie das Passwort des Benutzers, den die Anwendung verwendet, zurück – beresfordt

Antwort

23

Es funktioniert jetzt. Ich musste den Server neu starten. Danke

+0

Ich hatte das gleiche Problem und später automatisch behoben, fühlte ich die neuesten Updates von Laravel das Problem behoben? Hast du das gefühlt? – gsk

+1

Starten Sie einfach neu! und es kommt wieder normal. OH MEIN GOTT! –

+0

Vielen Dank für Ihre Antwort.Ich habe das gleiche Problem gerade jetzt, und starten Sie den Server neu, und es funktioniert jetzt! –

2

Sie müssen keine Anmeldeinformationen in der Datenbank.php-Datei festlegen. Es ist genug, wenn Sie Anmeldeinformationen in .env haben

Wenn Sie in der Lage sind, direkt in die Datenbank einzuloggen, dann muss dieses Passwort funktionieren. Es kann möglich sein, dass Sie eine andere Umgebung als "lokal" haben, die in dieser Datei definiert ist. Test ist mit "php artisan env"

+0

aktuelle Anwendungsumgebung: local – user1392035

+0

in L5 gibt es keine solche local/prod, theres one. env Datei, die alles entscheidet (es ist Git ignoriert so auf Produktion Sie nicht umschreiben es uppon Git drücken) – Kyslik

2

Versuchen Sie, die ".env" -Datei in Ihrem Stammverzeichnis zu überprüfen. Es wird eine versteckte Datei sein. Korrigiere diese Werte.

DB_HOST=localhost 
DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=secret 
+0

Dies funktionierte für mich, besonders wenn ich versuchte, die Werte in der Datenbank.php zu ändern und ich bekam die Fehler, als hätte ich nichts geändert. –

1

Bitte aktualisieren Sie die Datei unten.

Anbieter - .env - on line # 7

DB_HOST=localhost 
DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=secret 

Statt Heimstätte Benutzer Ihre Datenbank, Benutzername und Passwort. Dies sollte für Sie arbeiten.

4

Keiner von denen funktionierte für mich, als ich meine Website online auf Shared Hosting bereitgestellt habe, unten ist, was ich getan habe, dass es funktioniert hat.

In der .env Datei, änderte ich

DB_HOST=127.0.0.1 

zu

DB_HOST=localhost 

und Viola, es hat gut funktioniert wie erwartet.

0

Pls aktualisieren .env Datei

DB_HOST=localhost 
DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=secret 

Nach starten Server

Verwandte Themen