【问题标题】:Access denied for user 'homestead'@'localhost' (using password: YES) pdo exception用户'homestead'@'localhost'的访问被拒绝(使用密码:YES)pdo异常
【发布时间】:2016-09-01 01:13:39
【问题描述】:

我有很多解决这个问题的方法,但没有一个有效。

这是我的控制器

   <?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Doctor;

 class DoctorController extends Controller
 {
   public function index(){
     $doctors = Doctor::all();
     return $doctors;
     return "this is a doctorController";
   }

  }

这是我的模型

    <?php

 namespace App;

 use Illuminate\Database\Eloquent\Model;

class Doctor extends Model
 {
 //
}

这是我的 Route.php

 Route::resource("doctor","DoctorController");

这是我的 .env 文件

  APP_ENV=local
  APP_DEBUG=true
  APP_KEY=SomeRandomString
  APP_URL=http://localhost

 DB_CONNECTION=mysql
 DB_HOST=localhost
 DB_PORT=3306
 DB_DATABASE=medical
 DB_USERNAME=root
 DB_PASSWORD=

 CACHE_DRIVER=file
 SESSION_DRIVER=file
 QUEUE_DRIVER=sync

 REDIS_HOST=127.0.0.1
 REDIS_PASSWORD=null
 REDIS_PORT=6379

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

我遵循了这个的解决方案 http://tutsnare.com/access-denied-for-user-homesteadlocalhost-laravel-5/Laravel 5.2: PDOException in Connector.php line 55: SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)

但他们都没有工作。我该怎么办?

【问题讨论】:

  • 它可能对其他人有帮助:我会在更新.env 文件中的详细信息后清除缓存并重新启动服务器。

标签: php laravel-5


【解决方案1】:

如果数据库没有密码,请从.env 文件中删除DB_PASSWORD=。看看这是否能解决您的问题。

【讨论】:

    【解决方案2】:

    如果可能,请提供您的 config/database.php 文件。 或转到 config/database.php 文件并进行更改:

    'mysql' => [
                'driver'    => 'mysql',
                'host'      => env('DB_HOST', 'YOUR_DB_HOST'),
                'database'  => env('DB_DATABASE', 'YOUR_DB_DATABASE'),
                'username'  => env('DB_USERNAME', 'YOUR_DB_USERNAME'),
                'password'  => env('DB_PASSWORD', 'YOUR_DB_PASSWORD'),
                'charset'   => 'utf8',
                'collation' => 'utf8_unicode_ci',
                'prefix'    => '',
                'strict'    => false,
            ],
    

    【讨论】:

    • 这是默认配置。你不喜欢设置它。你必须更改 .env 文件。但无论如何我遵循了你的建议。仍然无法正常工作。
    • 尝试用 127.0.0.1 替换 localhost,
    • 同时检查你的 mysql 服务器是否正在运行:mysqladmin -u homestead -p status 输入密码:secret,
    • 尝试在 .env 文件中使用 DB_PASSWORD=secret
    【解决方案3】:

    它的数据库连接错误表明它的密码受保护。 那么你不能把它留空(DB_PASSWORD=?)如果你以前从未分配过不同的东西,请尝试使用“root”作为密码。

    【讨论】:

    • 那么我猜是设置了一些密码!你可能想重置它。试试这个:- howtoforge.com/setting-changing-resetting-mysql-root-passwords
    • 不是密码问题。我检查了我的 config.inc.php 文件 .passwird 字段是否为空白。 $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = '';
    猜你喜欢
    • 2015-06-27
    • 2019-01-23
    • 2016-12-16
    • 2017-08-10
    • 2019-07-23
    • 1970-01-01
    • 2020-03-02
    • 2023-03-08
    • 2017-08-08
    相关资源
    最近更新 更多