環境変数で開発環境か本番環境か判定して条件分岐するようにしたいです。
開発環境ではメール送信にmailhogを使っており、本番環境ではsendgridを使用予定です。
(sendgrid、取得したAPIキーからenvを編集。動作確認済み。)
どうすれば、環境変数で開発環境(mailhog)か本番環境(sendgrid)か判定して条件分岐させる事ができるでしょうか?
試した事。
lalaravel bootstrap/app.php
を以下に修正。
app.php
1/* 2|-------------------------------------------------------------------------- 3| 環境によって読み込む.envファイル切り替え 4|-------------------------------------------------------------------------- 5*/ 6 7switch ($_SERVER['localhost'] ?? 'localhost') { 8 case 'production.co.jp': 9 $app->loadEnvironmentFrom('.env.production'); 10 break; 11}
しかし、「環境変数で開発環境か本番環境か判定して条件分岐する」とはニュアンスが違うような、、、
そもそもswitch ($_SERVER['sample']、case 'localhost':としてみて、
app.php
1switch ($_SERVER['sample'] ?? 'localhost') { 2 case 'localhost': 3 $app->loadEnvironmentFrom('.env.production'); 4 break; 5}
localhostにアクセスしたら case 'localhost':以降が実行すると、以下のエラーメッセージがブラウザから表示されました。
Expected response code "250/251/252" but got code "550", with message "550 5.7.1 Relaying denied".
bootstrap/app.php を編集もうまくできていませんが、この方法では「環境変数で開発環境か本番環境か判定して条件分岐する」と意図する事が違うような気がします。
環境変数で開発環境(mailhog)か本番環境(sendgrid)か判定して条件分岐させる事ができるでしょうか?
回答3件
あなたの回答
tips
プレビュー