LoginSignup
8

More than 5 years have passed since last update.

PHP dotenv を素のPHPプロジェクトに導入する

Posted at

PHP dotenvの導入方法です

なぜdotenvを利用するのか?

開発環境と本番環境でDB設定などの値が変わっても、環境設定のファイルを.envファイルに記述することで簡単に管理することができます。

 composerのインストール

composerを利用します。
ローカルとリモート両方でインストールが必要です。
ダウンロードはコチラ。
https://getcomposer.org/download/

プロジェクトのドキュメントルートに.envファイルを作成します。

touch .env

.envファイルの書き方の例

DB_HOST="localhost"
DB_USER="root"
DB_PASS="root"
DB_NAME="cms"

.envをロードする

アプリケーション側で、.envを読み込みます。

.envファイルのパスを引数に入れましょう。

例(.envが同階層にある場合)

$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();

例(.envが1つ上の階層にある場合)

$dotenv = new Dotenv\Dotenv(__DIR__ . '/..');
$dotenv->load(__DIR__ . '/..');

getenvメソッドで定義した値を取得する

$host = getenv('DB_HOST');
echo $host;        # lobalhost

注意点

.envファイルは環境ごとに異なるため、git管理の対象からは外しましょう。

補足

sshでローカルからサーバーにアップロードする場合の例です。

scp -r /Repository/.env hoge-user@hoge-user.sakura.ne.jp:/home/hoge-user/www/.env

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8