何がおきた?
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でも接続できました!ヤッタネ!