繁体   English   中英

无法连接到Laravel MySQL数据库

[英]Cannot connect to Laravel mysql database

我在与laravel连接到mysql数据库时遇到问题。 我已将localhost更改为localhost:8091,因为这是我的Wamp服务器中的本地服务器名称。 我还安装了监听其他端口的xampp和uniserver。 laravel是否可能与我安装在计算机中的其他服务器混淆了? 例如,不仅用于url,还用于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,
    ],

解决正确答案的最后评论

您可以快速检查php config是否存在问题。 找到您的php.ini文件,它应该位于xampp文件夹中的某个位置-如果找不到文件,请进行文件搜索。

另外,您可以创建一个简单的文件,如下所示:

<?php
phpinfo();

或者以laravel的方式来做:

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

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

您正在寻找的是pdo_mysql。 查看是否已启用。 如果不是,请转到您的php.ini文件并找到以下行:

extension=php_pdo_mysql.dll

确保未注释。 重新启动服务器,您应该一切顺利。

另外,您无需对database.php或app.php文件进行任何更改即可连接到数据库-更改.env就足够了,因此从源文件中删除数据库连接详细信息,而只需保留它们最初的状态即可。 由于您的大多数设置都与默认设置相同,因此仅需在.env中设置的参数是:

DB_DATABASE=test1
DB_USERNAME=root

试试这些,让我知道是否有帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM