web-dev-qa-db-ja.com

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:\xampp\htdocs\Projects\blog\vendor\laravel\framework\src\Illuminate\Database\Connectors\Connector.php:47
9
Gaetan Sobze

Config /database.phpファイルと.envファイルを見てください。データベース情報が異なる可能性があります。

7
user2338925

プロジェクトのルートフォルダにある.envファイルの値を変更する必要があります。

.envファイルがない場合は、.env.exampleファイルを.envにコピーします。

Laravelはこのファイルを使用してパスワードを保護します。設定する値は、.envファイルに使用可能な構成がない場合にのみ使用されます。Homesteadが標準ユーザーです。

20
chris p bacon

.envファイルに移動できます。プロジェクトルートフォルダにあるファイル。

次に、ここにデータベースに関連するものがあります。

enter image description here

次に、以下のコマンドを実行して、古い構成キャッシュをクリアします。

php artisan config:clear

6
Pavnish Yadav

この問題もあります。 .envを更新してphp artisan config:clearを実行した後も、問題は解決しません。次に、サーバーを停止し、php artisan serveを使用してサーバーを再起動した後、問題が修正されました。

3
ken

.envファイルのデータベース情報を更新した後、同じエラーが発生していました。問題のある終了コマンドを修正しました。php artisan serveコマンドをプロンプトして再実行すると、問題が解決し、役立つ可能性があります。

1
zeeshan

Database.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,
]

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

これはうまく機能する必要があり、次のコマンドを実行します。

php artisan migrate:install
1
John Mtulya

この問題は、.envファイルをconfig /database.phpファイルで更新することで解決します。

これが私のconfig/database.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 file構造(config/databaseと同じ)。 php

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

データベースとして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
0