无法连接到Laravel mysql数据库

时间:2016-09-19 12:09:17

标签: php mysql laravel

我在与laravel连接到mysql数据库时遇到问题。我已将localhost更改为localhost:8091,因为这是我的wamp服务器中的本地服务器名称。我还安装了xampp和uniserver,它可以监听其他端口。 laravel是否有可能与我在我的机器上安装的其他服务器混淆?例如,不仅是网址,还包括phpmyadmin。

这是错误

  

Connector.php第119行中的PDOException:找不到驱动程序

这是我的.env文件

APP_ENV=local
APP_KEY=base64:h0GyUa1VdjV22LXpRiOSOw+9HxXV+Qm0XO2zz9RRz6s=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost:**8091**

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=test1
DB_USERNAME=root
DB_PASSWORD=

这是我的config.php文件

  'mysql' => 
  array (
    'driver' => 'mysql',
    'host' => 'localhost',
    'port' => '3306',
    'database' => 'test1',
    'username' => 'root',
    'password' => '',
    'charset' => 'utf8',
    'collation' => 'utf8_unicode_ci',
    'prefix' => '',
    'strict' => true,
    'engine' => NULL,
  ),

这是我的database.php文件

    'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', 'localhost'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'test1'),
        'username' => env('DB_USERNAME', 'root'),
        'password' => env('DB_PASSWORD', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'strict' => true,
        'engine' => null,
    ],
  

正确答案的最后评论解决方案

1 个答案:

答案 0 :(得分:1)

您可以快速检查php config是否存在问题。找到你的php.ini文件,它应该在xampp文件夹中的某个地方 - 如果你找不到它就做一个文件搜索。

或者,您可以创建一个这样的简单文件:

<?php
phpinfo();

或者以laravel方式做到:

Route::get('info', function() { phpinfo(); });

现在通过浏览器调用该路由 - 您将看到php configs。

你在看什么是pdo_mysql。看看它是否已启用。如果不是,请转到php.ini文件并找到以下行:

extension=php_pdo_mysql.dll

确保取消注释。重新启动服务器,你应该好好去。

此外,您无需对database.php或app.php文件进行任何更改即可连接到数据库 - 更改.env就足够了,因此请从源文件中删除数据库连接详细信息,只需将它们保留为原样即可原来。由于您的大多数设置与默认设置相同,因此您必须在.env中设置的唯一参数是:

DB_DATABASE=test1
DB_USERNAME=root

尝试这些事情并让我知道它是否有帮助:)