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

Posted

技术标签:

【中文标题】Connector.php 第 55 行中的 Laravel PDOException 错误【英文标题】:Laravel PDOException error in Connector.php line 55 【发布时间】:2016-04-16 21:43:59 【问题描述】:

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

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

这个错误是什么意思?

SQLSTATE[HY000] [1045] 用户 'homestead'@'localhost' 的访问被拒绝(使用密码: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。

提前致谢。

【问题讨论】:

您的.env 文件是否可读/在正确的位置?因为如果不是,Laravel 将默认使用 config/database.php 文件中写入的内容。您的 Connector.php 没有任何问题,因为错误清楚地表明 Laravel 使用了其他类型的配置 我还在config/database.php 中添加数据库详细信息,但它不起作用。 【参考方案1】:

尝试删除目录中的这个文件:

bootstrap/cache/config.php

或者在终端运行这个:

php artisan config:clear
php artisan cache:clear

【讨论】:

正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center。【参考方案2】:

您需要为pdo_mysql

安装php模块

为此在您的服务器上运行此命令

yum install php-mysqlnd

然后重启httpd服务

service httpd restart

【讨论】:

【参考方案3】:

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

【讨论】:

以上是关于Connector.php 第 55 行中的 Laravel PDOException 错误的主要内容,如果未能解决你的问题,请参考以下文章

Bd Postgres 与 Laravel 的连接?

docker-compose 中的“无法连接到本地 MySQL 服务器”

Container.php 第 741 行中的 ReflectionException:类视图不存在

运行 example_web_connector.php 时出错

具有三个公共值的行中的空值,第四个随着一个匹配而变化

如何避免以特定符号开头的行中字符串的文本突出显示[java]