MENU

【Laravel】本番環境の.envファイルにAPIキーを追加する方法

Webアプリケーションを開発していると、外部サービスのAPIを利用する機会は多くあります。例えば、Google Maps API や各種決済API、SNS連携などです。

Laravelでは、これらのAPIキーやパスワードなどの機密情報を.envファイルで管理するのが一般的です。開発環境では.envを自由に編集できますが、本番環境ではサーバーにログインして直接.envを編集する必要があります。

しかし、いざ本番環境で.envを編集しようとすると、

  • .envファイルはどうやって編集するの?
  • viの操作方法がわからない
  • 追加したのにLaravelで反映されない

といった疑問にぶつかることも少なくありません。

この記事では、本番環境の.envファイルにAPIキーを追加する方法を、Laravelを例にわかりやすく解説します。
サーバーへのログインから.envの編集、Laravelへの反映まで、実際の手順を順番に紹介していきます。

目次

.env ファイルとは

  • Laravelで環境変数を管理するためのファイル
  • APIキーやパスワードなどの機密情報を管理
  • Gitで管理しないのが一般的

本番環境の.envにAPIキーを追加する手順

1. サーバーにSSHでログインする

ssh user@server

2. Laravelプロジェクトのディレクトリへ移動する

cd /path/to/laravel-project

3. .envファイルを開く

vi .env

vi.envファイルを開くことができます。

その後、iを押すと編集モードに入ります。(逆にiを押さない限り編集ができません。)

4. APIキーを追記する

.envファイルに以下のように追記します。

GOOGLE_MAPS_API_KEY=xxxxxxxxxxxxxxxx

5. 保存して終了する

  1. ESCを押す
  2. 以下を入力して終了
:wq

Laravelに変更を反映させる

Laravelでは設定がキャッシュされている場合があるため、.envを変更したあとにキャッシュをクリアします。

php artisan config:clear

または

php artisan optimize:clear

これで .envの変更がLaravelに反映されます。

LaravelでAPIキーを使用する方法

.envに記載した値はenv()で取得できます。

env('GOOGLE_MAPS_API_KEY')

ただし、Laravelではconfigファイル経由で使用する方法が推奨されています。

例:config/services.php

'google_maps' => [
    'api_key' => env('GOOGLE_MAPS_API_KEY'),
],

使用例

config('services.google_maps.api_key');

よくあるトラブル

.env を変更したのに反映されない

原因の多くはLaravelのキャッシュです。

原因がキャッシュの場合、以下を実行すると解決します。

php artisan config:clear

まとめ

本番環境の .env ファイルにAPIキーを追加する手順は、次の流れになります。

  1. サーバーにSSHログイン
  2. Laravelプロジェクトへ移動
  3. vi .env でファイルを編集
  4. APIキーを追記
  5. php artisan config:clearで設定を反映

.envAPIキーやパスワードなどの重要な情報を管理するファイルのため、取り扱いには十分注意しましょう。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

Muta Blog運営者はデザインも開発もやるWebエンジニアです。
本ブログでは現場で培ったWebの知識やノウハウを発信しています。
Web制作歴5年/現在ReactやRubyを中心に幅広く学習中/

目次