Connector.php第55行出现Laravel PDOException错误


Laravel PDOException error in Connector.php line 55

我是Laravel PHP框架的初学者。这就是为什么我尝试从这里(Laravel.com)执行基本任务。我一步一步地完成了这个基本任务。但完成后,我得到了一个错误。我将错误放在这里。

中的PDO异常C: ''examplep''htdocs''quickstart''vendor''laravel''framework''src''Illuminate''Database''Connectors''Connector.php第55行:SQLSTATE[HY000][1045]拒绝用户访问'homest'@'localhost'(使用密码:YES)

这个错误的含义是什么?

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

这是我的.env文件。

DB_HOST=localhost
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=

我在这里发现了类似的问题。但是没有合适的解决方案

在这里,我添加了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。

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

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

因此.env文件应该如下所示:

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

您需要为pdo_mysql安装php模块

要做到这一点,请在服务器上运行此命令

yum install php-mysqlnd

然后重新启动httpd服务

service httpd restart

尝试删除目录中的此文件:

bootstrap/cache/config.php

或者在终端中运行:

php artisan config:clear
php artisan cache:clear