我是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