2015-03-17 3 views
2

Я пытался настроить мой Connexion базы данных Laravel используя MariaDB без успеха, выполняя мое приложение вернуть эту ошибку:Настройка MariaDB с Laravel 5

PDOException in Connector.php line 47: 
SQLSTATE[HY000] [1049] Unknown database 'data' 

вот мой файл database.php:

'default' => 'mysql', 

'connections' => [ 

     'sqlite' => [ 
      'driver' => 'sqlite', 
      'database' => storage_path().'/database.sqlite', 
      'prefix' => '', 
     ], 

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

     'pgsql' => [ 
      'driver' => 'pgsql', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'charset' => 'utf8', 
      'prefix' => '', 
      'schema' => 'public', 
     ], 

     'sqlsrv' => [ 
      'driver' => 'sqlsrv', 
      'host'  => env('DB_HOST', 'localhost'), 
      'database' => env('DB_DATABASE', 'forge'), 
      'username' => env('DB_USERNAME', 'forge'), 
      'password' => env('DB_PASSWORD', ''), 
      'prefix' => '', 
     ], 

    ], 

Вот мой .env файл:

APP_ENV=local 
APP_DEBUG=true 
APP_KEY=ZP9Ao5RJhZjS7EqJuaYRltSIC7HTL4vp 

DB_HOST=localhost 
DB_DATABASE=data 
DB_USERNAME=root 
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 

эта свалка ошибка:

in Connector.php line 47 
at PDO->__construct('mysql:host=localhost;dbname=data', 'root', 'secret', array('0', '2', '0', false, '0')) in Connector.php line 47 
at Connector->createConnection('mysql:host=localhost;dbname=data', array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'data', 'username' => 'root', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql'), array('0', '2', '0', false, '0')) in MySqlConnector.php line 20 
at MySqlConnector->connect(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'data', 'username' => 'root', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 58 
at ConnectionFactory->createSingleConnection(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'data', 'username' => 'root', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, 'name' => 'mysql')) in ConnectionFactory.php line 47 
at ConnectionFactory->make(array('driver' => 'mysql', 'host' => 'localhost', 'database' => 'data', 'username' => 'root', 'password' => 'secret', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false), 'mysql') in DatabaseManager.php line 177 
at DatabaseManager->makeConnection('mysql') in DatabaseManager.php line 65 
at DatabaseManager->connection(null) in Model.php line 3134 
at Model::resolveConnection(null) in Model.php line 3100 
at Model->getConnection() in Model.php line 1895 
at Model->newBaseQueryBuilder() in Model.php line 1836 
at Model->newQueryWithoutScopes() in Model.php line 1810 
at Model->newQuery() in Model.php line 3321 
at Model->__call('get', array()) in SongsController.php line 20 
at Song->get() in SongsController.php line 20 
at SongsController->index() 
at call_user_func_array(array(object(SongsController), 'index'), array()) in Controller.php line 246 
at Controller->callAction('index', array()) in ControllerDispatcher.php line 162 
at ControllerDispatcher->call(object(SongsController), object(Route), 'index') in ControllerDispatcher.php line 107 
at ControllerDispatcher->Illuminate\Routing\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101 
at Pipeline->then(object(Closure)) in ControllerDispatcher.php line 108 
at ControllerDispatcher->callWithinStack(object(SongsController), object(Route), object(Request), 'index') in ControllerDispatcher.php line 67 
at ControllerDispatcher->dispatch(object(Route), object(Request), 'App\Http\Controllers\SongsController', 'index') in Route.php line 198 
at Route->runWithCustomDispatcher(object(Request)) in Route.php line 131 
at Route->run(object(Request)) in Router.php line 691 
at Router->Illuminate\Routing\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101 
at Pipeline->then(object(Closure)) in Router.php line 693 
at Router->runRouteWithinStack(object(Route), object(Request)) in Router.php line 660 
at Router->dispatchToRoute(object(Request)) in Router.php line 618 
at Router->dispatch(object(Request)) in Kernel.php line 210 
at Kernel->Illuminate\Foundation\Http\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 141 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in VerifyCsrfToken.php line 43 
at VerifyCsrfToken->handle(object(Request), object(Closure)) in VerifyCsrfToken.php line 17 
at VerifyCsrfToken->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in ShareErrorsFromSession.php line 55 
at ShareErrorsFromSession->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in StartSession.php line 61 
at StartSession->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in AddQueuedCookiesToResponse.php line 36 
at AddQueuedCookiesToResponse->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in EncryptCookies.php line 40 
at EncryptCookies->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) in CheckForMaintenanceMode.php line 42 
at CheckForMaintenanceMode->handle(object(Request), object(Closure)) in Pipeline.php line 125 
at Pipeline->Illuminate\Pipeline\{closure}(object(Request)) 
at call_user_func(object(Closure), object(Request)) in Pipeline.php line 101 
at Pipeline->then(object(Closure)) in Kernel.php line 111 
at Kernel->sendRequestThroughRouter(object(Request)) in Kernel.php line 84 
at Kernel->handle(object(Request)) in index.php line 53 

Я думаю, что это связано с каким-то конфликтом между Mysql и MariaDB. Было бы полезно, если бы кто-нибудь, кто уже пытался использовать MariaDB с Laravel, мог предоставить пример или опыт. Странно, что я смог выполнить мой файл миграции с помощью «php artisan: migrate», и база данных существует с соответствующими таблицами. Как сценарии миграции подключаются к базе данных и контроллеры терпят неудачу? Что я делаю не так ?

+0

Является ли ваше имя базы данных 'data' или' forge'? – jszobody

+0

Это имена данных, я могу видеть в дампе ошибки, что он пытается получить к нему доступ. Я думаю: MySqlConnector-> connect (array ('driver' => 'mysql', 'host' => 'localhost', 'database '=>' data ',' username '=>' root ',' password '=>' secret ',' charset '=>' utf8 ',' collation '=>' utf8_unicode_ci ',' prefix '=>' ' , 'strict' => false, 'name' => 'mysql')) в строке ConnectionFactory.php 58 – ferenan

+0

убедитесь, что база данных 'data' существует (я знаю, звучит глупо, но chek снова). Кроме того, попробуйте использовать другой драйвер, например 'mysqli' – manix

ответ

0

Я, наконец, решил, что расстроен, так как я использовал Homestead, бонусный ящик laravel для выполнения моего сайта, сайт фактически пытался подключиться к внутренней mysql, расположенной внутри Homestead, и я никогда не собирался добираться до MariaDB. Я до сих пор не понял, как использовать MariaDB в Homestead, но по крайней мере я сузил поиск сейчас.

Смежные вопросы