Laravel 5.2でMac OS XおよびHomestead 2.2.1を使用する。
ターミナル(プロジェクトフォルダーのホームステッド内)で、php artisanを実行して、使用可能なすべてのコマンドを表示できます。php artisan migrateを実行しようとすると、接続エラーが発生します。
SQLSTATE[HY000] [2002] Connection refused
これらの.env設定でLaravelプロジェクトをセットアップしました
DB_HOST=127.0.0.1
DB_DATABASE=tcv
DB_USERNAME=homestead
DB_PASSWORD=secret
DB_HOSTにはlocalhostを、DB_USERNAMEとDB_PASSWORDにはrootも試しました。そして、これらの可能なすべてのバリエーションを組み合わせます!
Sequel Pro(db管理アプリケーション)では、これらの設定で接続できます
Host 127.0.0.1
Username homestead
Password secret
Database tcv
Port 33060
しかし、ターミナルから移行できないので、このデータベースは明らかに空です...
Sequel Proで接続できるので、私が知る限り、これは構成の問題です。しかし、正直に言って、セットアップの何が間違っているのかおかしくはありません。
助けてくれてありがとう !!
編集
何らかの理由でSQLSTATE[HY000] [2002] Connection refused
、プロジェクトをMAMPに移動してphp artisan migrateを実行すると、同じエラーが発生します。
今、私は完全に迷っています...
問題
Laravel config/database.php
では、接続のすべての設定が配置されています。また.env
、プロジェクトのルートディレクトリにファイルがあります(全員が時間節約のために使用します)。これには、プロジェクト全体で使用できる変数が含まれています。
標準のL5プロジェクトでは、MySqlセクションはconfig/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,
'engine' => null,
],
ポートが設定されていないことに注意してください!
私の.env
ファイルでは設定しましたがDB_PORT=33060
。しかし、それvalue (3306)
はに読み込まれていませんconfig/database.php
。
だから私のように馬鹿にならず、database.php
ファイルをチェックすることを忘れないでください。
'port' => env('DB_PORT', 3306),
して、この値を.envに設定します。 DB_PORT=3306
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加