проблемы с подключением к базе данных в laravel 5

Я использую команду php artisan migrate для переноса подключения к базе данных, но я все равно получаю ту же ошибку, и я проверил все, ничего плохого. Я использовал то же соединение, которое я всегда использую в Laravel 4.2

вот сообщение, которое я получаю на своей консоли:

exception 'PDOException' with message 'SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (using password: YES)' in C:xampphtdocsProjectsblogvendorlaravelframeworksrcIlluminateDatabaseConnectorsConnector.php:47

8 ответов


взгляните на свою конфигурацию / базу данных.php и .файл env.Возможно, ваша база данных отличается.


вам нужно изменить значения в вашей .env файл, расположенный в корневой папке вашего проекта.

Если нет .env файл, скопировать .env.пример файла .env.

Laravel использует этот файл для защиты ваших паролей. Значения, которые вы устанавливаете, используются только в том случае, если конфигурация недоступна .env файл, homestead является стандартным пользователем там.


вы можете пойти .файл env. Файл доступен в корневой папке проекта.

тогда некоторые здесь связаны с вашей базой данных.

enter image description here

затем выполните команду ниже, чтобы очистить старый кэш конфигурации.

php artisan config: очистить


есть эта проблема, а также. После обновления .env и run php artisan config:clear проблема все еще сохраняется! Затем после остановки сервера и перезапуска сервера снова с помощью php artisan serve, проблема исправлена!


измените следующий атрибут из базы данных.в PHP

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

to

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

Это должно хорошо работать, тогда выполните следующую команду:

php artisan migrate:install

Я решаю эту проблему с помощью обновления .env-файл с конфигурацией / базой данных.PHP-файл.

вот мой конфигурация / база данных.в PHP структура (я использую mysql)

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

и .файл env структура (то же самое, что конфигурация / база данных.в PHP)

 DB_HOST=localhost      // Host name
 DB_DATABASE=larablog   // Database name
 DB_USERNAME=root       // Database User
 DB_PASSWORD=           // Db password(No password here) 

Я получал ту же ошибку после обновления database info В моем .файл env. Исправлена проблема выхода из командной строки и повторный запуск это помогло мне и может помочь тебе.


Если вы используете sqlite в качестве базы данных, убедитесь, что у вас установлен php5-sqlite

sudo apt-get install php5-sqlite

если он установлен, это может быть проблема с вашей .файл env. Заменить

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret

С

DB_CONNECTION=sqlite
DB_HOST=127.0.0.1
DB_PORT=3306