2015-02-08 18 views
8

Tôi sử dụng lệnh php artisan migrate để di chuyển kết nối cơ sở dữ liệu của mình nhưng tôi vẫn gặp lỗi tương tự và tôi đã kiểm tra mọi thứ, không có gì sai. Tôi đã sử dụng các kết nối tương tự mà tôi luôn luôn sử dụng trong Laravel 4.2vấn đề với kết nối cơ sở dữ liệu trong laravel 5

Dưới đây là thông điệp mà tôi nhận được trên giao diện điều khiển của tôi:

exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)' in C:\xampp\htdocs\Projects\blog\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:47 
+0

Xin vui lòng gửi database.php của bạn với các thiết lập kết nối (với mật khẩu xxx) – baao

+0

@ Michael 'mysql' => [ \t \t \t 'lái xe' => 'mysql', \t \t \t 'host' => env ('DB_HOST', 'localhost'), \t \t \t 'cơ sở dữ liệu' => env ('DB_DATABASE', 'root'), \t \t \t 'username' => env ('DB_USERNAME', ' '), \t \t \t 'mật khẩu' => env ('DB _PASSWORD ' ''), \t \t \t 'charset'=> 'utf8', \t \t \t 'chiếu'=> 'utf8_unicode_ci', \t \t \t 'prefix'=> '', \t \t \t' strict '=> false, \t \t], –

Trả lời

5

Hãy nhìn vào cấu hình của bạn/database.php và .env file.Maybe thông tin cơ sở dữ liệu của bạn là khác nhau.

20

Bạn cần thay đổi các giá trị trong tập tin .env của bạn, nằm trong thư mục gốc của dự án của bạn.

Nếu không có tệp .env, hãy sao chép tệp .env.example vào .env.

Laravel sử dụng tệp này để bảo vệ mật khẩu của bạn. Các giá trị như bạn đang thiết lập chúng chỉ được sử dụng nếu không có cấu hình có sẵn trong tệp .env, homestead là người dùng chuẩn ở đó.

+0

cảm ơn rất nhiều ... nó đang hoạt động !! –

+0

Wow ...! '.env' tập tin đã không nhìn thấy trong dự án netbeans của tôi (tự hỏi) hơn tìm trong trình duyệt và thực hiện .. Cảm ơn ...! –

6

Bạn có thể truy cập tệp .env. Tệp có sẵn trên thư mục Project Root.

Sau đó, một số ở đây có liên quan đến cơ sở dữ liệu của bạn.

enter image description here

Sau đó chạy dưới lệnh để xóa bộ nhớ cache cấu hình cũ.

php thợ thủ công cấu hình: rõ ràng

3

Có vấn đề này. Sau khi cập nhật .env và chạy php artisan config:clear vấn đề vẫn tồn tại! Sau đó, sau khi dừng máy chủ và khởi động lại máy chủ với php artisan serve, sự cố đã được khắc phục!

+0

Chạy lệnh hai này để giải quyết SQLSTATE [HY000] [1049] Cơ sở dữ liệu không xác định ............ –

1

Thay đổi các thuộc tính sau đây từ database.php

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

để

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

này phải hoạt động tốt sau đó chạy lệnh sau:

php artisan migrate:install 
1

tôi giải quyết vấn đề này bằng cách cập nhật Tệp .env với tệp config/database.php.

đây là cấu hình của tôi/database.php cấu trúc (Tôi đang sử dụng mysql)

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

.env nộp cấu trúc (giống như config/cơ sở dữ liệu.php)

DB_HOST=localhost  // Host name 
DB_DATABASE=larablog // Database name 
DB_USERNAME=root  // Database User 
DB_PASSWORD=   // Db password(No password here) 
0

Nếu bạn đang sử dụng SQLite như cơ sở dữ liệu, hãy chắc chắn bạn đã php5-sql cài đặt

sudo apt-get install php5-sqlite 

Nếu nó được cài đặt, nó có thể là một vấn đề với .env của bạn tập tin. Thay

DB_CONNECTION=mysql 
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=homestead 
DB_USERNAME=homestead 
DB_PASSWORD=secret 

với cùng một lỗi

DB_CONNECTION=sqlite 
DB_HOST=127.0.0.1 
DB_PORT=3306 
1

tôi đã nhận được này sau khi cập nhật thông tin cơ sở dữ liệu trong tập tin .env tôi. khắc phục sự cố dấu nhắc lệnh thoát và chạy lại php artisan serve lệnh nó đã giúp tôi và có thể hữu ích cho bạn.

+0

bạn có thể làm cho câu trả lời dễ đọc hơn không? –

Các vấn đề liên quan