首页 文章

Connector.php第55行中的Laravel PDOException错误

提问于
浏览
1

我是 Laravel PHP framework 的初学者 . 这就是我从HERE (Laravel.com)尝试基本任务的原因 . 我一步一步跟着这个基本任务 . 但是在完成这个后我得到一个错误 . 我把错误放在这里 .

C:\ xampp \ htdocs \ quickstart \ vendor \ laravel \ framework \ src \ Illuminate \ Database \ Connectors \ Connector.php第55行中的PDOException:SQLSTATE [HY000] [1045]拒绝访问用户'homestead'@'localhost' (使用密码:是)

这个错误是什么意思?

SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

这是我的 .env 文件 .

DB_HOST=localhost
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

我在here中发现了类似的问题 . 但是没有适当的解决方案 .

在这里,我从 Connector.php 添加几行(48到63) .

public function createConnection($dsn, array $config, array $options)
{
    $username = Arr::get($config, 'username');

    $password = Arr::get($config, 'password');

    try {
        $pdo = new PDO($dsn, $username, $password, $options);
    } catch (Exception $e) {
        $pdo = $this->tryAgainIfCausedByLostConnection(
            $e, $dsn, $username, $password, $options
        );
    }

    return $pdo;
}

我真的能得到正确的解决方案 . 有谁能给我正确的解决方案吗?顺便说一句,这是laravel 5.2 .

提前致谢 .

2 回答

  • 0

    SQLSTATE [HY000] [1045]拒绝访问用户'homestead'@'localhost'(使用密码:YES)

    这意味着您提供的用户名和密码不正确 . 如果您使用的是宅基地,则默认用户名为ir homestead ,密码为 secret . 此外,您可能需要更改数据库端口,因为默认的laravel配置将查找端口 3306 ,但Homestead在端口 33060 上运行

    所以 .env 文件应如下所示:

    DB_HOST=127.0.0.1
    DB_DATABASE=homestead
    DB_USERNAME=homestead
    DB_PASSWORD=secret
    DB_PORT=33060
    

    Source

  • 1

    你需要为 pdo_mysql 安装php模块

    这样做在您的服务器上运行此命令

    yum install php-mysqlnd

    然后重启httpd服务

    service httpd restart

相关问题