Доступ запрещен для пользователя 'root' @ 'localhost' только с API почтальона - PullRequest
1 голос
/ 29 апреля 2020

Я использую почтальон, чтобы попытаться сделать запрос API-сообщения:

http://127.0.0.1: 8000 / api / auth / register? name=corbin&email=corbin@example.com&password=password

Должна быть подключена база данных, потому что я могу очень хорошо перенести свою базу данных. Используя php artisan tinker, я также могу просто добавить нового пользователя:

>>> $user = new User();
=> App\User {#3060}
>>> $user->name = "kyle";
=> "kyle"
>>> $user->email = "kyle@example.com"
=> "kyle@example.com"
>>> $user->email = "kyle@example.com";
=> "kyle@example.com"
>>> $user->password = bcrypt('password');
=> "$2y$10$VQ8i0wlUKOfMzz6s/AXNBekcAdDAah9EvCvLeOASu3t06x.eVMCFq"
>>> $user->save();
=> true
>>> User::all();
=> Illuminate\Database\Eloquent\Collection {#3080
     all: [
       App\User {#3081
         id: 1,
         name: "kyle",
         email: "kyle@example.com",
         email_verified_at: null,
         created_at: "2020-04-29 06:15:03",
         updated_at: "2020-04-29 06:15:03",
       },
     ],
   }

Однако, когда я пытаюсь создать запись в почтальоне, я получаю это:

Illuminate \ Database \ QueryException: SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'root' @ 'localhost' (используется пароль: NO) (SQL: вставить в users (name, email, password) , updated_at, created_at) значения (кайл, kyle@example.com, $ 2y $ 10 $ QfVSBr67zOJldKrxqjVVsO9pZ5QV9qOkvoCH. / FPRZfSRVo1A4Gq C, 2020-04-28 08:53:51, 2020-04-28 08:53:51 )) в файле /Applications/MAMP/htdocs/laravel-vue-spa/vendor/laravel/framework/src/Illuminate/Database/Connection.php в строке 671

Вот мой AuthController:

public function register(Request $request)
    {


        /*$request->validate([
            'name' => 'required|string|max:255',
            'email' => 'required|string|email|max:255|',
            'password' => 'required|string|min:6|confirmed'
        ]);*/

        $user = new User();
        $user->name = $request->name;
        $user->email = $request->email;
        $user->password = bcrypt($request->password);

        $user->save();

        /*if($user->save()){
            return response()->json([
                'message' => 'User was successfully created.',
                'status_code' => 201
            ], 201);
        } else {
            return response()->json([
                'message' => 'An error occured. Please try again.',
                'status_code' => 500
            ], 500);
        } */
    }

.env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel_spa
DB_USERNAME=root
DB_PASSWORD=password

Я также попытался переключить DB_HOST=localhost. В Sequel Pro мои привилегии установлены на супер. Я также пытался выполнить GET запрос для User::all(); того же испытания.

Редактировать 1

config / database. php

'mysql' => [
            'driver' => 'mysql',
            'url' => env('DATABASE_URL'),
            'host' => env('DB_HOST', '127.0.0.1'),
            'port' => env('DB_PORT', '3306'),
            'database' => env('DB_DATABASE', 'forge'),
            'username' => env('DB_USERNAME', 'forge'),
            'password' => env('DB_PASSWORD', ''),
            'unix_socket' => env('DB_SOCKET', ''),
            'charset' => 'utf8mb4',
            'collation' => 'utf8mb4_unicode_ci',
            'prefix' => '',
            'prefix_indexes' => true,
            'strict' => true,
            'engine' => null,
            'options' => extension_loaded('pdo_mysql') ? array_filter([
                PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
            ]) : [],
        ],

Я также пробежал php artisan config:clear и php artisan optimize:clear

...