我是 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 回答
这意味着您提供的用户名和密码不正确 . 如果您使用的是宅基地,则默认用户名为ir
homestead
,密码为secret
. 此外,您可能需要更改数据库端口,因为默认的laravel配置将查找端口3306
,但Homestead在端口33060
上运行所以 .env 文件应如下所示:
Source
你需要为 pdo_mysql 安装php模块
这样做在您的服务器上运行此命令
yum install php-mysqlnd
然后重启httpd服务
service httpd restart