ปฏิเสธการเข้าถึงสำหรับผู้ใช้ 'homestead' @ 'localhost' (ใช้รหัสผ่าน: YES)


165

ฉันใช้ 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 ( ขั้นตอนนี้ใช้ได้กับฉัน )


1
วิธีปฏิบัติที่ดีที่สุดคือเพื่อให้แน่ใจว่าบัญชีมีอยู่จริงใน mysql ... "ฉันพบกุญแจนี้ที่ถนนและมันไม่ทำงานในการล็อคประตูหน้าฉันจะเปลี่ยนกุญแจเพื่อทำให้กุญแจทำงานได้อย่างไร"
Marc B

1
ฉันคิดว่าคุณกำลังใช้ VM อยู่กับที่หรือไม่ ฉันได้พบว่ามันจะทำงานเฉพาะเมื่อคุณอยู่ใน VM คุณสามารถเข้าสู่มันผ่าน ssh vagrant@127.0.0.1 -p 2222 เครื่องเริ่มต้นของฉันไม่ได้กิ่งไม้ที่กล่าวว่า db กำลังทำงานอยู่
Jay Edwards

คำตอบ:


254

สาเหตุของการเข้าถึงถูกปฏิเสธสำหรับข้อผิดพลาด laravel 5 ของผู้ใช้ 'homestead' @ 'localhost' laravel 5 คือปัญหาการแคชของไฟล์. env.php ทำให้ Laravel 5 กำลังใช้การกำหนดค่าตามสภาพแวดล้อมในไฟล์. env ของคุณ

1 . ไปที่ไดเรกทอรีรากแอปพลิเคชันของคุณและเปิดไฟล์. env (ใน Ubuntu อาจเป็นไฟล์ที่ถูกซ่อนดังนั้นกดctrl+ hเพื่อแสดงไฟล์ที่ซ่อน & หากคุณอยู่ในเทอร์มินัลให้พิมพ์: ls -aเพื่อแสดงไฟล์ที่ซ่อนอยู่) ในโปรแกรมแก้ไขและเปลี่ยนการตั้งค่าฐานข้อมูล จากนั้นบันทึกไฟล์. env ของคุณ

DB_HOST=localhost
DB_DATABASE=laravelu
DB_USERNAME=root
DB_PASSWORD=''

2 . จากนั้นรีสตาร์ทเซิร์ฟเวอร์ apache / เว็บเซิร์ฟเวอร์ของคุณ และรีเฟรชหน้าของคุณและคุณได้ทำ

3 . หากยังคงมีปัญหาให้ลองเรียกใช้คำสั่งด้านล่างเพื่อล้างไฟล์แคชการกำหนดค่าเก่า

php artisan config:clear

ตอนนี้คุณทำข้อผิดพลาด


1
ฉันทำงานให้ฉันขอบคุณหนึ่งคำถามที่เราต้องกำหนดรายละเอียด db ของเราในไฟล์. env ในขณะที่เราทำมันบนไฟล์ database.php
Dipen

1
บางทีฉันคุณต้องการสภาพแวดล้อมที่หลากหลายการผลิตและท้องถิ่น
Abdou Tahiri

5
พยายามรีสตาร์ท Apache เมื่อฉันใช้ "php artisan เสิร์ฟ" ตลอดเวลาฉันขอแนะนำให้คุณอย่าทำผิดพลาดแบบเดียวกับฉัน> <
Carlton

1
ไม่ทำงานและตอนนี้ฉันได้รับPDOException in Connector.php line 55: SQLSTATE[HY000] [1049] Unknown database 'laravelu'. _
Black

1
ฉันพยายามเปลี่ยน.envและconfig:clear cache:clearคำสั่งทั้งหมดรีสตาร์ทapacheแต่ยังคงได้รับปัญหาเดียวกัน
Luzan Baral

67

TLDR: คุณต้องหยุดเซิร์ฟเวอร์Ctrl+ cและเริ่มใช้อีกครั้งphp artisan serve


รายละเอียด:

หากคุณกำลังใช้ Laravel และได้เริ่มต้นเซิร์ฟเวอร์ dev ในพื้นที่แล้ว php artisan serve

และหลังจากที่เซิร์ฟเวอร์ด้านบนทำงานแล้วคุณเปลี่ยนสิ่งที่เกี่ยวข้องกับเซิร์ฟเวอร์ฐานข้อมูลในไฟล์. env เช่นย้ายจาก MySQL เป็น SQLite หรืออะไร คุณต้องตรวจสอบให้แน่ใจว่าคุณหยุดกระบวนการดังกล่าวCtrcl Cหรือสิ่งใดก็ตามที่หยุดกระบวนการ จากนั้นรีสตาร์ท Artisan Serve อีกครั้งเช่น y php artisan serveและรีเฟรชเบราว์เซอร์และปัญหาที่เกี่ยวข้องกับฐานข้อมูลจะได้รับการแก้ไข นี่คือสิ่งที่ทำงานให้ฉันสำหรับ Laravel 5.3


โอ้พระเจ้าของฉันมันใช้งานได้สำหรับฉันขอบคุณ แต่ฉันจะหยุดเมื่อเปลี่ยน env มีเครื่องมืออะไรบ้าง? นี่เป็นประสบการณ์ที่ดี
saber tabatabaee yazdi

31

วิธีแก้ปัญหาสองทาง

วิธีแรก (ไม่แนะนำ)

เปิดไฟล์ปรับแต่งฐานข้อมูลของคุณ (laravel_root / config / database.php) และค้นหาบล็อคโค้ดด้านล่าง

        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'blog'),
        'username'  => env('DB_USERNAME', 'root'),
        'password'  => env('DB_PASSWORD', ''),

เปลี่ยนบล็อครหัสดังนี้

        'host'      => 'yourHostName',
        'database'  => 'YourDatabastName',
        'username'  => 'YoutDatabaseUsername',
        'password'  => 'YourDatabasePassword',

วิธีที่สอง (แนะนำโดย Laravel)

ตรวจสอบรากของ Laravel ของคุณว่ามีไฟล์ที่เรียกว่า. env หากไม่มีอยู่ให้ค้นหา. env.example คัดลอก / เปลี่ยนชื่อเป็น. env หลังจากนั้นไฟล์จะดูเหมือนว่าระเบิด!

APP_ENV=local
APP_DEBUG=true
APP_KEY=someRandomNumber

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

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

ปรับเปลี่ยนบล็อกด้านล่างดังต่อไปนี้

DB_HOST=yourHostName
DB_DATABASE=yourDatabaseName
DB_USERNAME=yourDatabaseUsername
DB_PASSWORD=youPassword

ตอนนี้มันจะทำงานได้ดี


1
ไฟล์นี้มีจุดประสงค์อะไร? root/config/database.phpดูเหมือนว่าข้อมูลนี้ซ้ำซ้อน
Halter

ปริมาณข้อมูลไม่ซ้ำซ้อนใช้ฟังก์ชัน env เพื่ออ่านค่าจากไฟล์. env เพื่อรักษาความปลอดภัยข้อมูลเซิร์ฟเวอร์
absiddiqueLive

คุณจะค้นหาหรือสร้างชื่อโฮสต์ชื่อฐานข้อมูลชื่อผู้ใช้และรหัสผ่านด้วย Homestead ได้อย่างไร
คอนเนอร์ปลิง

21

หากคุณใช้php artisan migrateไม่ได้จากกล่องคนเร่าร้อน แต่จากเครื่องโฮสต์คุณต้องกำหนดภายใน.envIP ของกล่อง192.168.10.10

และเห็นได้ชัดว่าได้รับอนุญาตจากผู้ใช้ที่อยู่อาศัยจาก ip ของคุณเช่น

grant all privileges on *.* to 'homestead'@% identified by 'secret';

ใน.envไฟล์

DB_HOST=192.168.10.10
DB_DATABASE=homestead
DB_USERNAME=homestead

ฉันไม่สามารถทำงานได้ แต่grant all privileges on *.* to 'homestead'@'localhost' identified by 'secret';ทำงานให้ฉัน
Ryan

21

หากคุณใช้เว็บเซิร์ฟเวอร์เริ่มต้นของ PHP (เช่นphp artisan serve) คุณต้องรีสตาร์ทเซิร์ฟเวอร์หลังจากเปลี่ยนค่าไฟล์. env


11

เมื่อคุณติดตั้ง Homestead สิ่งนี้จะสร้างฐานข้อมูล "homestead" เริ่มต้นใน VM คุณควร SSH เข้าสู่ VM homestead sshและเรียกใช้การย้ายข้อมูลจากที่นั่น หากคุณทำงานในพื้นที่โดยไม่มี VM คุณจะต้องสร้างฐานข้อมูลด้วยตนเอง โดยค่าเริ่มต้นฐานข้อมูลควรจะเรียกว่า homestead ชื่อผู้ใช้คือ homestead และรหัสผ่านเป็นความลับ

ตรวจสอบกระทู้นี้ใน laracastsหรือโพสต์บล็อกนี้สำหรับรายละเอียดเพิ่มเติม


ถ้าคุณได้รับ

[PDOException] SQLSTATE[HY000] [2002] No such file or directory

ลองเปลี่ยน "โฮสต์" ในไฟล์ /app/config/database.php จาก "localhost" เป็น "127.0.0.1" คุณสามารถค้นหารายละเอียดเพิ่มเติมและการแก้ไขอื่น ๆ ได้ที่นี่ในกระทู้นี้

ตรวจสอบว่าคุณระบุถูกต้องunix_socketหรือไม่ ตรวจสอบกระทู้นี้


@ rangerover.js ลองเปลี่ยน "host" ในไฟล์ /app/config/database.php จาก "localhost" เป็น "127.0.0.1"
Sojan V Jose

@ rangerover.js ตรวจสอบstackoverflow.com/questions/20723803/ ที่นี่ ดูวิธีแก้ปัญหาใดก็ได้ที่สำคัญ
Sojan V Jose

@ rangerover.js ตรวจสอบว่าบริการ mysql ทำงานอยู่หรือไม่ :)
Sojan V Jose

@ rangerover.js สามารถตรวจสอบ unix_socket ของคุณได้หรือไม่ stackoverflow.com/a/25649930/939299
Sojan V Jose

1
ในที่สุดก็ทำงานในวันที่ 4 ที่พยายาม โปรดลบความคิดเห็นทั้งหมดของคุณและรวมลิงค์นี้ stackoverflow.com/a/25649930/939299 เป็นส่วนหนึ่งของคำตอบของคุณเพราะช่วยฉันได้
cyber8200

11

ตรวจสอบซ็อกเก็ต MySQL UNIX

ค้นหาตำแหน่งunix_socketโดยใช้ MySQL

mysql -u homestead -p

mysql> show variables like '%sock%';
+-----------------------------------------+-----------------------------+
| Variable_name                           | Value                       |
+-----------------------------------------+-----------------------------+
| performance_schema_max_socket_classes   | 10                          |
| performance_schema_max_socket_instances | 322                         |
| socket                                  | /var/run/mysqld/mysqld.sock |
+-----------------------------------------+-----------------------------+
3 rows in set (0.00 sec)

จากนั้นฉันไปที่config / database.php

ฉันอัปเดตบรรทัดนี้: 'unix_socket' => '/tmp/mysql.sock',

ถึง : 'unix_socket' => '/var/run/mysqld/mysqld.sock',

แค่นั้นแหละ. มันใช้งานได้สำหรับการลองครั้งที่ 4 ของฉันฉันหวังว่าขั้นตอนเหล่านี้จะช่วยให้ใครบางคน : D


ว้าวนั่นช่วยฉัน
Petar Vasilev

11

ฉันมีปัญหาเดียวกันและในที่สุดมันกลับกลายเป็นว่าฉันเพิ่งต้องรีสตาร์ทเซิร์ฟเวอร์และเริ่มต้นอีกครั้ง

Ctrl+ cจากนั้น

php artisan serve

9

ใน Windows PC ติดตามด้านล่าง


  1. เข้าถึงโฟลเดอร์รูทของแอปพลิเคชันของคุณ

  2. แก้ไขไฟล์. env

เข้าถึงโฟลเดอร์ Root ของแอปพลิเคชันของคุณ

แก้ไขไฟล์. env

แก้ไขไฮไลต์และเปลี่ยนชื่อผู้ใช้และรหัสผ่านและชื่อฐานข้อมูลตาม


9

ในกรณีของฉันหลังจากรีสตาร์ทเซิร์ฟเวอร์ปัญหาก็หายไป

exit / ปิดคำสั่ง "php artisan เสิร์ฟ"และ

เรียกใช้คำสั่ง "php artisan เสิร์ฟ"อีกครั้ง


8

บางครั้งในอนาคต ลองล้างการกำหนดค่าของคุณก่อน

php artisan config:clear. 

ปิดหน้าต่างเทอร์มินัล / cmd ทั้งหมดจากนั้นรีสตาร์ท terminal / CMD และควรกำจัดข้อความแสดงข้อผิดพลาด ดูว่ามันใช้งานได้


ขอบคุณมากมันใช้งานได้สำหรับฉัน ฉันไม่รู้ว่าทำไมข้อผิดพลาดนี้เกิดขึ้น ฉันเพิ่งปิดและโหลดใหม่และเรียกใช้ config PHP ช่าง: ชัดเจน
ดาบ Tabatabaee yazdi

6

หลังจาก config db รีสตาร์ท:

 php artisan serve

หากการให้บริการมีการใช้งานก่อนที่จะตั้งค่า db


5

ฉันใช้ laravel 5. * ฉันคิดว่าฉันมีการเรียกไฟล์.envในรูทของโครงการที่มีลักษณะดังนี้:

APP_ENV=local
APP_DEBUG=true
APP_KEY=SomeRandomString

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

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
MAIL_ENCRYPTION=null

และนั่นคือการเขียนการกำหนดค่า bd ดังนั้นคุณสามารถลบการตั้งค่า vars เหล่านั้นได้ดังนั้น laravel จะใช้การกำหนดค่าภายใต้ / config หรือตั้งค่าการกำหนดค่าของคุณที่นี่

ฉันทำอย่างที่สองและมันก็ได้ผลกับฉัน :)


5

เข้าใจแล้ว! ลงชื่อเข้าใช้ด้วยรูทและให้สิทธิ์ homestead @ localhost กับทุกสิ่ง

จากสถานีของคุณ:

$ homestead ssh

$ mysql -u root -p

Enter password: secret

mysql> grant all privileges on *.* to 'homestead'@'localhost' identified by 'secret';

Query OK, 0 rows affected (0.00 sec)
exit

ขณะนี้ผู้ใช้ homesteads ทั่วไปสามารถเข้าถึงตารางทั้งหมดของคุณและดังนั้นจึงควรสามารถเรียกใช้สิ่งต่าง ๆ เช่นการย้ายข้อมูล


5

หลังจากเปลี่ยนแปลง. env ด้วยการกำหนดค่าใหม่คุณต้องหยุดเซิร์ฟเวอร์และเรียกใช้อีกครั้ง (php artisan เสิร์ฟ) สาเหตุ laravel ได้รับสภาพแวดล้อมเมื่อเริ่มต้นเซิร์ฟเวอร์ หากคุณไม่รีสตาร์ทคุณจะเปลี่ยน. env ถามตนเองว่าทำไมการเปลี่ยนแปลงจึงไม่เกิดขึ้น !!


5

สิ่งที่คุณต้องทำคือแก้ไขไฟล์. envของคุณ

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

ที่ด้านหน้าของ DB_DATABASE เขียนชื่อของฐานข้อมูลและที่ด้านหน้าของ DB_USERNAME ให้ใช้รู


4

ฉันต้องการโพสต์สิ่งนี้เพราะปัญหานี้ทำให้ฉันผิดหวังประมาณ 3 ชั่วโมงในวันนี้ ฉันไม่ได้ลองวิธีการใด ๆ ที่ระบุไว้ในคำตอบอื่น ๆ แม้ว่าทั้งหมดจะดูสมเหตุสมผล ในความเป็นจริงฉันกำลังจะลองทำตามแนวทางที่เสนอข้างต้น แต่ฉันก็ได้รับแรงบันดาลใจนี้ นี่คือสิ่งที่ทำงานให้ฉันเพื่อให้ฉันกลับมาทำงานอีกครั้ง - YMMV:

1) ค้นหาไฟล์. env ของคุณ 2) เปลี่ยนชื่อไฟล์. env ของคุณเป็นอย่างอื่น Laravel 5 ต้องใช้ไฟล์นี้แทนการตั้งค่าที่อื่นในเฟรมเวิร์ก ฉันเปลี่ยนชื่อเป็น. env.old 3) คุณอาจต้องรีสตาร์ทเว็บเซิร์ฟเวอร์ แต่ไม่ต้องทำ

โชคดี!


3

คุณต้องเรียกใช้$ php artisan migrateคำสั่งจากภายใน Homestead ไม่ใช่ Mac ของคุณ


MBP-bheng-aveniorsแสดงให้เห็นว่าหน้าจอของคุณยิงชื่อเครื่องเป็น นั่นไม่ใช่ VM ของคุณ คุณต้องใช้ SSH ใน Homestead ( $ homestead ssh) จากนั้นเรียกใช้$ php artisan migrateจากภายในเซสชัน SSH นั้น
Martin Bean

3

ตรวจสอบไฟล์ " .env " ของคุณในโฟลเดอร์รูท ถูกต้องหรือไม่

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

3

ฉันมีทางออก

  1. ไปที่ไดเรกทอรีรากของแอปพลิเคชันของคุณและเปิดไฟล์. env (ใน Ubuntu อาจซ่อนอยู่ดังนั้นให้กด ctrl + h เพื่อแสดงไฟล์ที่ซ่อน) ในตัวแก้ไขและเปลี่ยนการตั้งค่าการกำหนดค่าฐานข้อมูล จากนั้นบันทึกไฟล์. env ของคุณ

  2. จากนั้นรีสตาร์ทเซิร์ฟเวอร์ apache / เว็บเซิร์ฟเวอร์ของคุณ และรีเฟรชหน้าของคุณและคุณได้ทำ

  3. หากยังคงมีปัญหาให้ลองเรียกใช้คำสั่งด้านล่างเพื่อล้างไฟล์แคชการกำหนดค่าเก่า

สิ่งนี้ได้ผลกับฉัน ...


3

เพียงแค่เปลี่ยนสิ่งเหล่านี้ในไฟล์. env ของโฟลเดอร์รูทของคุณ

DB_DATABASE=your_db_name
DB_USERNAME=your_db_user_name
DB_PASSWORD='your_db_password'

มันใช้งานได้สำหรับฉัน


3

ในกรณีของฉัน (laravel 5+) ฉันต้องใส่รหัสผ่านของฉันในเครื่องหมายคำพูดเดี่ยวและล้างแคชการกำหนดค่า:

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=database_name
DB_USERNAME=user_name
DB_PASSWORD='password'

จากนั้นเรียกใช้:

php artisan config:clear

1

เข้าสู่ระบบ MySQL - ใช้ฐานข้อมูล mysql

เลือก * จากผู้ใช้;

ตรวจสอบให้แน่ใจว่าคอลัมน์ HOST ของคุณถูกต้อง ควรเป็นโฮสต์ที่คุณกำลังเชื่อมต่อจาก (เซิร์ฟเวอร์แอปพลิเคชันของคุณ) ไม่ว่าจะเป็นที่อยู่ IP หรือชื่อ DNS นอกจากนี้ '%' จะใช้งานได้ (หมายถึงไวด์การ์ด) แต่จะไม่ปลอดภัย


1

ตรวจสอบไฟล์. env ของคุณหากคุณแก้ไขตัวแปรใด ๆ โปรดรีสตาร์ทเซิร์ฟเวอร์ laravel และปัญหาของคุณจะได้รับการแก้ไข


1

A. หลังจากอัพเดทไฟล์. env ด้วยการตั้งค่าฐานข้อมูลให้ล้างการตั้งค่าตัวอ่อนโดย "กำลังเรียกใช้งาน php artisan config: clear"

B. โปรดตรวจสอบให้แน่ใจว่าคุณรีสตาร์ทเซิร์ฟเวอร์ apache / รันคำสั่ง "php artisan เสิร์ฟ" อีกครั้งเพื่อให้การตั้งค่าของคุณมีผล


0

ฉันมีปัญหาเดียวกันกับการใช้ SQLite ปัญหาของฉันคือ DB_DATABASE ชี้ไปที่ตำแหน่งไฟล์ผิด

สร้างไฟล์ sqlite ด้วยคำสั่ง touch และออกพา ธ ไฟล์โดยใช้ php artisan tinker

$ touch database/database.sqlite
$ php artisan tinker
Psy Shell v0.8.0 (PHP 5.6.27  cli) by Justin Hileman
>>> database_path(‘database.sqlite’)
=> "/Users/connorleech/Projects/laravel-5-rest-api/database/database.sqlite"

จากนั้นเอาต์พุตนั้นพา ธ ที่แน่นอนไปยังตัวแปร DB_DATABASE

DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=/Users/connorleech/Projects/laravel-5-rest-api/database/database.sqlite
DB_USERNAME=homestead
DB_PASSWORD=secret

หากไม่มีเส้นทางที่ถูกต้องคุณจะได้รับข้อผิดพลาดถูกปฏิเสธการเข้าถึง


0

หากคุณมีข้อผิดพลาดบางอย่างเช่นการกลับมาPDOException in Connector.php line 55: SQLSTATE[HY000] [1049] Unknown database 'laravelu'เกิดจากการที่คุณจะมีการเปลี่ยนแปลงการตั้งค่า batabase DB_DATABASE=laraveluของคุณเป็น ดังนั้นสำหรับตอนนี้คุณทั้งสอง:

  1. เปลี่ยนหรือDB_DATABASE=[yourdatabase]
  2. สร้างฐานข้อมูลที่เรียกว่าlaraveluใน phpmyadmin ของคุณ

สิ่งนี้ควรจะสามารถแก้ไขได้


0

ในกรณีของฉันข้อผิดพลาดคือ "เกิด" โดยการกำหนดค่า Homestead / Vagrant ของฉันเกี่ยวกับที่ฉันลืม :) พยายามที่จะเรียกใช้การโยกย้ายเพียงจากบรรทัดคำสั่ง

ในกรณีที่ใช้สภาพแวดล้อม Homestead Vagrant Box คุณควรเรียกใช้การย้ายข้อมูลจากภายในเครื่อง Homestead ของคุณ (หลังจากเชื่อมต่อกับมันโดยใช้ ssh:) vagrant@192.168.10.10:22สิทธิ์การเข้าถึงจะตกลงและจะอนุญาตให้ทำการโยกย้ายได้


0

จากคำถามของคุณดูเหมือนว่าคุณกำลังเรียกใช้ที่อยู่อาศัย ในกรณีนี้ตรวจสอบให้แน่ใจว่าคุณใช้คำสั่งใน VM ของคุณ devs จำนวนมากรวมถึงฉันมักจะทำผิดพลาดและเรียกใช้คำสั่งช่างนอก VM ซึ่งคำสั่งจะพยายามเชื่อมต่อกับฐานข้อมูลท้องถิ่นของเราสามารถเข้าถึงได้ผ่าน localhost ซึ่งแตกต่างจากฐานข้อมูลที่ใช้โดย homestead Cd ไปยังไดเรกทอรี Homestead ของคุณและเรียกใช้

vagrant ssh

จากนั้นให้ cd เป็นรหัสถ้าคุณเก็บโปรเจคและ cd ไว้ในโปรเจคและเรียกใช้php artisan migrate again ฉันหวังว่านี่จะช่วยคนอื่น ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.