it-roy-ru.com

Ошибка Laravel 5 SQLSTATE [HY000] [1045] Доступ запрещен для пользователя 'Homestead' @ 'localhost' (с использованием пароля: ДА)

Я успешно установил Laravel 5 и изменил учетные данные MySQL в файле database.php в каталоге config на '

mysql' => [
            'driver'    => 'mysql',
            'Host'      => env('DB_Host', 'localhost'),
            'database'  => env('DB_DATABASE', 'wdcollect'),
            'username'  => env('DB_USERNAME', 'root'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
        ],

Я не хочу использовать Homestead, и я изменил файл .env на

APP_ENV=local
APP_DEBUG=true
APP_KEY=apLIzEMOgtc5BUxdT9WRLSvAoIIWO87N

DB_Host=localhost
DB_DATABASE=wdcollect
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

Я не понимаю, почему это говорит, что доступ запрещен для 'Homestead' @ 'localhost'

14
user1392035

Теперь это работает. Я должен был перезагрузить сервер. Спасибо

27
user1392035

Вам нужно запустить эти две команды

php artisan cache:clear
php artisan config:cache
10
Syed Nazir Hussain

Ничто из этого не сработало для меня, когда я развернул свой веб-сайт на виртуальном хостинге, ниже приведено то, что я сделал.

В файле .env я изменил 

DB_Host=127.0.0.1

в 

DB_Host=localhost

и альт, это работало хорошо, как ожидалось.

9
BlackPearl

если вы до этого используете localhost и root ваш файл будет кэширован

удалить /bootstrap/cache/config.php

3
Omid Ahmadyani

Попробуйте извлечь файл ".env" в корневой каталог. Это будет скрытый файл. Исправьте эти значения.

 DB_Host=localhost
 DB_DATABASE=Homestead
 DB_USERNAME=Homestead
 DB_PASSWORD=secret
2
Harish Lalwani

Вам не нужно устанавливать учетные данные в файле database.php. Достаточно, если у вас есть учетные данные в .env

Если вы можете войти в базу данных напрямую, этот пароль должен работать. Может случиться так, что ваша среда отличается от "локальной", которая определена в этом файле. Испытание с "php artisan env"

2
Margus Pala

Пожалуйста, обновите файл ниже.

продавец - .env - на линии № 7

 DB_Host=localhost
 DB_DATABASE=Homestead
 DB_USERNAME=Homestead
 DB_PASSWORD=secret

Вместо пользователя Homestead ваша база данных, имя пользователя и пароль. Это должно работать для вас.

1
golucoder

Это работает для меня:

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

Благодарю. 

1
Y. Joy Ch. Singha

Просьба обновить .env файл

 DB_Host=localhost
 DB_DATABASE=Homestead
 DB_USERNAME=Homestead
 DB_PASSWORD=secret

После этого перезапустите сервер

0
Faridul Khan

Вместо того, чтобы использовать это

DB_Host=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=

Использовать этот

DB_Host=localhost
DB_DATABASE=wdcollect
DB_USERNAME=root
DB_PASSWORD=''
0
Ali Khurram

Сопоставьте файл .env и файл config.php с вашими именем пользователя и паролем и вашим именем хоста в настройках базы данных. Если они не равны, связь не будет установлена.

0
asghar

Я тоже придумал это ... Затем я решаю это, помещая информацию о базе данных непосредственно в "database.php" В вашем случае я бы изменил информацию следующим образом

mysql' => [
        'driver'    => 'mysql',
        'Host'      => 'localhost',
        'database'  => 'wdcollect',
        'username'  => 'root',
        'password'  => '',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
        'strict'    => false,
    ],

и не забудьте изменить настройки в config.inc XAMPP

['auth_type'] = 'config';
['Servers'][$i]['user'] = 'root';
['Servers'][$i]['password'] = '';
['AllowNoPassword'] = true;
0
Let's Yo