Laravel 5与宅基地有未知的数据库

Awa*_*rni 3 php mysql laravel laravel-5 homestead

你好我使用Laravel 5homestead.我homestead第一次面临这样的问题.我创建了一个数据库'myDb'并将数据导入到此中.我已经安装vagranthomestead克隆了我的代码并相应地配置了homestead.yaml文件.我已经设置了我的.env.当我试图运行我的项目是给我unknown database myDb error.我可以在我看到我的数据库,phpmyadmin但我不知道为什么它给了我这个错误.我的.env文件看起来像

 DB_HOST=localhost
 DB_DATABASE=myDb
 DB_USERNAME=homestead
 DB_PASSWORD=secret
Run Code Online (Sandbox Code Playgroud)

我也有同样的设置config/database.php.

'mysql' => [
        'driver'    => 'mysql',
        'host'      => env('DB_HOST', 'localhost'),
        'database'  => env('DB_DATABASE', 'myDb'),
        'username'  => env('DB_USERNAME', 'homestead'),
        'password'  => env('DB_PASSWORD', 'secret'),
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ]
Run Code Online (Sandbox Code Playgroud)

它让我很生气.我究竟做错了什么?我正在追随

  in Connector.php line 55
at PDO->__construct('mysql:host=localhost;dbname=myDb', 'homestead',   'secret', array('0', '2', '0', false, '0')) in Connector.php line 55
at Connector->createConnection('mysql:host=localhost;dbname=myDb', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, '0')) in MySqlConnector.php line 22
 at MySqlConnector->connect(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 60
at ConnectionFactory->createSingleConnection(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'myDb', 'username' => 'homestead', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 49
Run Code Online (Sandbox Code Playgroud)

Has*_*med 5

您可能犯的一个常见错误是您可能正在访问本地主机上的MySQL服务器,而您应该记住,Homestead是一个完整的虚拟开发人员.环境.它有自己的Web服务器,MySQL服务器等.

要查看Homestead MySQL服务器上是否还有"myDB",请尝试通过以下命令访问homestead.

homestead ssh
Run Code Online (Sandbox Code Playgroud)

完成后,尝试通过mysql命令打开mysql控制台.

mysql -u username -p
Run Code Online (Sandbox Code Playgroud)

之后列出所有数据库使用

show databases
Run Code Online (Sandbox Code Playgroud)

如果您在那里看不到"myDb"数据库,那么您应该尝试使用Navicat或MySQL Workbench连接到Homestead MySQL服务器,并将数据库从本地MySQL服务器移动到Homestead MySQL服务器.

那可能会解决你的问题.