コマンド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
Config /database.phpファイルと.envファイルを見てください。データベース情報が異なる可能性があります。
プロジェクトのルートフォルダにある.envファイルの値を変更する必要があります。
.envファイルがない場合は、.env.exampleファイルを.envにコピーします。
Laravelはこのファイルを使用してパスワードを保護します。設定する値は、.envファイルに使用可能な構成がない場合にのみ使用されます。Homesteadが標準ユーザーです。
.envファイルに移動できます。プロジェクトルートフォルダにあるファイル。
次に、ここにデータベースに関連するものがあります。
次に、以下のコマンドを実行して、古い構成キャッシュをクリアします。
php artisan config:clear
この問題もあります。 .envを更新してphp artisan config:clear
を実行した後も、問題は解決しません。次に、サーバーを停止し、php artisan serve
を使用してサーバーを再起動した後、問題が修正されました。
.envファイルのデータベース情報を更新した後、同じエラーが発生していました。問題のある終了コマンドを修正しました。php artisan serve
コマンドをプロンプトして再実行すると、問題が解決し、役立つ可能性があります。
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
この問題は、.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)
データベースとして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