【问题标题】:Laravel 4.2: (Access denied for user 'homestead'@'localhost') errorLaravel 4.2:(用户'homestead'@'localhost'的访问被拒绝)错误
【发布时间】:2015-09-20 17:45:45
【问题描述】:
当我尝试执行php artisan migrate 命令时,我在终端中收到以下错误消息
SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)
我不使用homestead。我在根目录中有这两个文件:.env.php 和.env.local.php,我在其中保留敏感值和环境(开发和生产)之间不同的值。那么出了什么问题以及如何解决问题?
【问题讨论】:
标签:
php
laravel-4
homestead
【解决方案1】:
- 在您的终端中输入
hostname 并按Enter 键。这将使您知道您的主机名(您的计算机/机器的名称)。
- 在
bootstrap/start.php 文件中,使用这一行'local' => array('put-your-hostname-here'), 而不是这一行'local' => array('homestead'),
-
在.env.local.php 文件中,像这样保存本地数据库配置:
<?php
return array(
"DB_NAME" => "local_database_name",
"DB_USERNAME" => "local_database_username",
"DB_PASSWORD" => "local_database_password",
// any other configuration..
);
-
在.env.php 文件中,保存您的远程数据库配置,如下所示:
<?php
return array(
"DB_NAME" => "remote_database_name",
"DB_USERNAME" => "remote_database_username",
"DB_PASSWORD" => "remote_database_password",
// any other configuration..
);
-
在app/config/database.php 文件中,像这样设置你的数据库连接:
'mysql' => array(
'driver' => 'mysql',
'host' => 'localhost',
'database' => $_ENV['DB_NAME'],
'username' => $_ENV['DB_USERNAME'],
'password' => $_ENV['DB_PASSWORD'],
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
),
最后,您必须删除或禁用app/config/local/database.php 文件中存在的任何工作代码,否则将抛出您提到的错误。