OSXホストでSequelProを使用してHomestead2.0をセットアップしました。
Sequel Proで移行してデータが移行されていることを確認できるので、DB接続に問題はないようです。
しかし、Laravel 4.2アプリからデータをフェッチしようとすると、データの取得に失敗し、次のエラーが発生します。
PDOException (2002)
SQLSTATE[HY000] [2002] Connection refused
これが私のmysql設定です。
'mysql' => array(
'driver' => 'mysql',
'Host' => '127.0.0.1',
'port' => '33060',
'database' => 'Homestead',
'username' => 'Homestead',
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => ''
続編プロの設定は上記と同じですが、
Name: 127.0.0.1
Host: 127.0.0.1
Username: Homestead
Password: secret
Database:
Port: 33060
ホスト名を「localhost」に変更しようとしましたが、Homesteadが破棄して起動しましたが、機能しません。なぜ??どんな提案も役に立ちます。
私はまったく同じ問題を抱えていましたが、なぜこれが起こるのかわかりません。しかし変化する
'Host' => '127.0.0.1',
に
'Host' => 'localhost',
私のために働いた。いつも私たちが期待するよりも簡単です!
Laravelの.envファイルのHostパラメーターでアドレス127.0.1.1をlocalhostに置き換える問題を解決しました。私はGNU/Linux Debian 8、Laravel 5.6.3、PHP 7.1.8、Apache 2.4.27および(Mysql)10.1.26- MariaDB。
最新バージョン(5.3)でLaravelを実行している他の開発者のために、私はこれらの行を変更するだけです:
DB_Host=127.0.0.1
DB_PORT=3306
これに:
DB_Host=localhost
DB_PORT=33060
明らかに、33060
は3306
に変換されますが、localhost
が機能する理由を今では説明できません。
'mysql' => array(
'driver' => 'mysql',
'Host' => 'localhost',
'database' => 'Homestead',
'username' => 'Homestead',
'password' => 'secret',
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => ''
これを試してみてくださいそれはあなたのために働くかもしれません
Mariadbを更新して問題を解決しました。 「brewdature」で何が古くなったかを確認し、「brewupgrademariadb」でmariadbを更新してvagrantをリロードすると問題が修正されました。これがあなたのために働くことを願っています。
何らかの理由で同じ問題が発生しましたが、上記のいずれも機能しませんでした。私の場合、これを.envで試し、DB_HostをHomestead.localに変更しました。 Homsteadは私のサイトの名前です。これはうまくいきました。
DB_Host=Homestead.local