何がおきた?
RDSでMySQLを設定し、EC2にMySQLをインストールし、.envに諸々書いたのに認識してくれない。
(定かではないがなぜか.env.localに向いている?)
原因
本番環境(EC2)で.envを作っていなかった!
そもそも.gitignoreを理解していなかった!(ローカルで.envに本番設定を書いていただけだった。)
解決
- SSH接続をし、プロジェクトのディレクトリ内で
cp .env.example .envを実行 -
sudo vim .envで変数を本番用に書き換える(:wqで保存してvimを終了) -
php artisan key:generateで新たなキーを生成 -
sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap/cacheで権利を変更 -
php artisan config:clear
php artisan cache:clearでキャッシュクリア
俺の場合これで新たに.envのMySQLを認識してくれて解決しました。
余談
.gitignoreに追加したファイルは本当に無視されるんですね。
今まで「GitHubには.envとか見えないけどきっと裏側ではpushされてるんだろ。んでEC2にpullする時に、隠された.envもpullされてるんだろうな」とか考えていました…。
また一つ勉強になりました。
あと正しくRDSのMySQLに接続できたことでTablePlusでも接続できました!ヤッタネ!