Я пытался реализовать базовую регистрацию пользователей и вход в систему с помощью auth. Я могу создавать миграции, и таблицы уже созданы в базе данных. введите описание изображения здесь

Когда я заполняю регистрационные данные, такие как имя, адрес электронной почты, пароль и подтверждение пароля, и нажимаю «зарегистрироваться», я получаю сообщение об ошибке:

enter image description here

Это код в моем файле .env

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=townbakery
DB_USERNAME=root
DB_PASSWORD=12345678!

Я добавил любой другой код или внес другие изменения, кроме изменения Route web.php как

Route::get('/', function () {
return view('auth.login');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Пожалуйста, помогите мне, где я ошибся. Это первое приложение, над которым я работаю после изучения основ laravel.

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'),
        ]) : [],
    ],

Вот моя модель User.php:

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
use Notifiable;

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'name', 'email', 'password',
];

/**
 * The attributes that should be hidden for arrays.
 *
 * @var array
 */
protected $hidden = [
    'password', 'remember_token',
];

/**
 * The attributes that should be cast to native types.
 *
 * @var array
 */
protected $casts = [
    'email_verified_at' => 'datetime',
];
}
0
FEBzX 20 Сен 2019 в 15:49

3 ответа

Лучший ответ

Последней возможностью будет то, что ваш сервер форсирует значение переменной env DB_PASSWORD ether через Vhost или .htaccess

Чтобы убедиться в этом, попробуйте изменить переменную .env на DB_T_PASSWORD=12345678! и не забудьте изменить ее в database.php файле конфигурации 'password' => env('DB_T_PASSWORD', ''),

2
N69S 20 Сен 2019 в 14:36

Я столкнулся с этой ошибкой и решил. Первая попытка:

php artisan config:cache
php artisan config:clear
php artisan cache:clear

Чем, перезагрузите сервер:

php artisan serve

Перед решением я попытался написать имя пользователя, пароль и имя базы данных как жестко запрограммированные в database.php. После того, как я изменил имя пользователя и пароль, он пытался найти базу данных под названием laravel. Понятно, что это связано с первым файлом конфигурации .env.example , более четко, это связано с кешем конфигурации. Поэтому удалите все возможные комбинации кеша.

0
tolga 13 Ноя 2019 в 19:41

Попробуй это :

DB_DATABASE=townbakery

DB_USERNAME=root

DB_PASSWORD=
-1
whoami 20 Сен 2019 в 18:59