ฉันใช้ Mac OS Yosemite โดยใช้ Laravel 5.0
ในขณะที่อยู่ในสภาพแวดล้อมท้องถิ่นของฉันฉันเรียกใช้php artisan migrate
ฉันได้รับ:
ปฏิเสธการเข้าถึงสำหรับผู้ใช้ 'homestead' @ 'localhost' (ใช้รหัสผ่าน: YES)
องค์ประกอบ
นี่คือ. envของฉัน
APP_ENV=local
APP_DEBUG=true
APP_KEY=*****
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
แอปพลิเค \ Config \ database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'homestead'),
'username' => env('DB_USERNAME', 'homestead'),
'password' => env('DB_PASSWORD', 'secret'),
'unix_socket' => '/tmp/mysql.sock',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
]
ฉันจะหลีกเลี่ยงข้อผิดพลาดประเภทนี้ได้อย่างไร
ฉันพยายามแล้ว :
1
ในapp / database.php
แทนที่localhost
ด้วย127.0.0.1
'host'=> env('DB_HOST', 'localhost')
->'host' => env('DB_HOST', '127.0.0.1')
นอกจากนี้ใน. env
DB_HOST=localhost
-> DB_HOST=127.0.0.1
2
ลองระบุสภาพแวดล้อม
php artisan migrate --env=local
3
ตรวจสอบว่า MySQL กำลังรันอยู่หรือไม่
mysqladmin -u homestead -p status Enter password: secret
ฉันได้
Uptime: 21281 Threads: 3 Questions: 274 Slow queries: 0 Opens: 327 Flush tables: 1 Open tables: 80 Queries per second avg: 0.012
ซึ่งหมายความว่ามันกำลังทำงานอยู่
4
ตรวจสอบ MySQL UNIX Socket ( ขั้นตอนนี้ใช้ได้กับฉัน )