PHPファイルをコマンドラインから実行する際、環境ごとに動作を変えるために変数を設定する。
バッチ処理などの開発で多用するのでメモ。
シェル変数に設定
ENV=master php index.php
ENV=master
と書くことで、シェル変数を設定できる。
シェル変数とは、そのプロセスのみ有効な変数。
ちなみにPHPで変数の取得方法はこちら
index.php
$env = getenv("ENV");
//これでも取れる
$env = $_SERVER["ENV"];
コマンドプロンプトの場合は?
上記の環境変数の設定方法はLinuxコマンドなので、コマンドプロンプトだとエラーがでる。
コマンドプロンプトの場合は、こちら。
set ENV=master&php index.php
コマンドプロンプトではset
を使用することで、環境変数の設定が可能。
かつコマンドを複数同時に実行するときは&
でつなげてやる必要がある。
プロセスごとの変数はどうやって設定するのか?そのあたりの理解がまだまだ足りない。