【问题标题】:Laravel database access deniedLaravel 数据库访问被拒绝
【发布时间】:2016-03-02 14:29:22
【问题描述】:

我是 Laravel 新手,尝试在控制器 Article::all() 中运行简单命令时遇到错误。错误是:

Connector.php 第 55 行中的 PDOException: SQLSTATE[HY000] [1045] 用户 'homestead'@'localhost' 的访问被拒绝(使用密码:YES)

这是我的.env 文件:

APP_ENV=local
APP_DEBUG=true
APP_KEY=v1xavEadi4rHv0EGn05zQvtVAtQRA9zo

DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=

CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=sync

MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

控制器:

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

use App\Article;

class ArticlesController extends Controller
{
    public function index() 
    {

        $articles = Article::all();
    }
}

和模型:

namespace App;

use Illuminate\Database\Eloquent\Model;

class Article extends Model
{

    protected $fillable = [

        'name',
        'body'

    ];
}

【问题讨论】:

  • 宅基地的默认数据库登录名是“用户:宅基地/密码:秘密”
  • @Prashank - 这可能真的很愚蠢......但我没有修改默认通行证并登录“.env”文件吗?
  • 你修改过config文件夹下的数据库文件吗?
  • @TimvanUum 不,我没有对配置数据库文件进行任何修改。它是为 mysql 设置的,但是“'default' => env('DB_CONNECTION', 'mysql')”。我还做了一些迁移,连接到数据库效果很好。
  • @Tim van Uum 你能把它写成答案,这样这个问题就可以解决了吗?

标签: laravel homestead


【解决方案1】:

如果您使用 Homestead 和默认数据库凭据,那么您必须编辑您的 .env 文件:

DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=homestead
DB_PASSWORD=secret

虽然建议更改默认密码。

【讨论】:

    【解决方案2】:

    任何其他人在未来看到这个相同的问题 - 在 windows 中更改 env 文件后重新启动命令提示符。重新启动服务器不起作用,但关闭所有内容然后再次尝试它工作。

    【讨论】:

    • 老兄,感谢您解决这个问题。我一直在刷新页面和服务器,但这并没有什么不同。重新启动命令行就可以了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 2020-12-07
    • 2020-02-10
    • 2016-07-08
    • 2020-03-14
    • 2016-01-31
    相关资源
    最近更新 更多