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

时间:2016-01-12 10:17:12

标签: php html mysql laravel laravel-5

我是 Laravel PHP框架的初学者。这就是我从HERE (Laravel.com)尝试基本任务的原因。我一步一步地遵循这个基本任务。但是在完成这个后我得到了一个< em>错误。我在这里放错误

  

PDOException in   C:\ XAMPP \ htdocs中\快速启动\供应商\ laravel \框架的\ src \照亮\数据库\连接器\ Connector.php   第55行:SQLSTATE [HY000] [1045]拒绝用户访问   'homestead'@'localhost'(使用密码:YES)

此错误的含义是什么?

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

这是我的 .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 :(得分:1)

  

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

这意味着您提供的用户名和密码不正确。如果您使用的是宅基地,则默认用户名为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 :(得分:0)

您需要为 pdo_mysql

安装php模块

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

http://www.example.com/?q=test-words-string

然后重启httpd服务

yum install php-mysqlnd