質問編集履歴

2

説明追記

2022/10/14 06:28

投稿

Fukusuke0604
Fukusuke0604

スコア554

test CHANGED
File without changes
test CHANGED
@@ -5,4 +5,43 @@
5
5
 
6
6
  どうすれば、環境変数で開発環境(mailhog)か本番環境(sendgrid)か判定して条件分岐させる事ができるでしょうか?
7
7
 
8
+ 試した事。
9
+ lalaravel bootstrap/app.php
10
+ を以下に修正。
8
11
 
12
+ ```app.php
13
+ /*
14
+ |--------------------------------------------------------------------------
15
+ | 環境によって読み込む.envファイル切り替え
16
+ |--------------------------------------------------------------------------
17
+ */
18
+
19
+ switch ($_SERVER['localhost'] ?? 'localhost') {
20
+ case 'production.co.jp':
21
+ $app->loadEnvironmentFrom('.env.production');
22
+ break;
23
+ }
24
+ ```
25
+
26
+ しかし、「環境変数で開発環境か本番環境か判定して条件分岐する」とはニュアンスが違うような、、、
27
+ そもそもswitch ($_SERVER['sample']、case 'localhost':としてみて、
28
+ ```app.php
29
+ switch ($_SERVER['sample'] ?? 'localhost') {
30
+ case 'localhost':
31
+ $app->loadEnvironmentFrom('.env.production');
32
+ break;
33
+ }
34
+ ```
35
+
36
+ localhostにアクセスしたら case 'localhost':以降が実行すると、以下のエラーメッセージがブラウザから表示されました。
37
+ ```ここに言語を入力
38
+ Expected response code "250/251/252" but got code "550", with message "550 5.7.1 Relaying denied".
39
+ ```
40
+
41
+ bootstrap/app.php を編集もうまくできていませんが、この方法では「環境変数で開発環境か本番環境か判定して条件分岐する」と意図する事が違うような気がします。
42
+
43
+ 環境変数で開発環境(mailhog)か本番環境(sendgrid)か判定して条件分岐させる事ができるでしょうか?
44
+
45
+
46
+
47
+

1

質問内容修正

2022/10/14 05:48

投稿

Fukusuke0604
Fukusuke0604

スコア554

test CHANGED
File without changes
test CHANGED
@@ -1,26 +1,8 @@
1
- Laravel9 読み込む.envファイルを環境ごと切り替えたいです。
1
+ 環境変数で開発環境か本番環境か判定して条件分岐するようたいです。
2
2
 
3
- 1.本番環境用.env.prod作成し、本番環境で使いたい内容を記述
3
+ 開発環境ではメール送信にmailhog使っており、本番環境ではsendgridを使用予定です
4
+ (sendgrid、取得したAPIキーからenvを編集。動作確認済み。)
4
5
 
5
- 2.bootstrap/app.phpを以下に編集。
6
- ```app.php
7
- switch ($_SERVER['SERVER_NAME'] ?? 'local') {
8
- case 'prod':
9
- $app->loadEnvironmentFrom('.env.prod');
6
+ どうすれば、環境変数で開発環境(mailhog)か本番環境(sendgrid)か判定して条件分岐させる事ができるでしょうか?
10
- break;
11
- }
12
- ```
13
- 3.ターミナルから、コマンド php artisan migrate --env=prodを実行。
14
- migrate実行後のターミナルからは以下のように表示されています。
15
- ```ここに言語を入力
16
- PHP Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0
17
7
 
18
- Deprecated: PHP Startup: Use of mbstring.internal_encoding is deprecated in Unknown on line 0
19
- Nothing to migrate.
20
- ```
21
8
 
22
- しかし、 コマンド php artisan env を実行しても
23
- Current application environment: local となってしまいます。
24
-
25
- どうすれば、読み込むenvファイルを切り替えることができるでしょうか?
26
-