【PHP】 環境変数($_ENV)を使って出来ること
環境変数($_ENV)とは?
PHPの環境変数(`$_ENV`)は、サーバーや実行環境に設定された変数を取得するためのスーパーグローバル変数です。
例えば、システムのパスやデータベースの接続情報、APIキーなどを格納するのに利用されます。
環境変数の例
echo $_ENV['PATH']; // システムのパスを取得
環境変数の取得
PHPでは環境変数を取得する方法がいくつかあります。
$_ENVを使用する方法
if (isset($_ENV['HOME'])) {
echo "HOMEディレクトリ: " . $_ENV['HOME'];
}
getenv()関数を使用する方法
echo getenv('HOME');
環境変数の設定
環境変数は以下の方法で設定できます。
putenv()関数を使用する方法
putenv("APP_ENV=development");
echo getenv("APP_ENV"); // development
$_ENVに直接追加
$_ENV['APP_ENV'] = "production";
echo $_ENV['APP_ENV']; // production
$_ENVと$_SERVERの違い
どちらも環境変数を扱えますが、違いがあります。
$_ENVの特徴
- 主に環境変数を格納
- システムレベルの情報が入ることが多い
$_SERVERの特徴
- サーバーやリクエストに関する情報を格納
- `$_SERVER[‘HTTP_HOST’]` などのリクエスト情報が含まれる
.envファイルの活用
`.env`ファイルを使用すると、環境変数を管理しやすくなります。
例:`.env`ファイルの作成
DB_HOST=localhost
DB_USER=root
DB_PASS=secret
PHPで`.env`を読み込む
$lines = file('.env');
foreach ($lines as $line) {
putenv(trim($line));
}
echo getenv('DB_HOST'); // localhost
環境変数のセキュリティ
環境変数を適切に管理しないと、セキュリティリスクが生じます。
セキュリティ対策
- `.env`ファイルをGitに含めない
- Webサーバーで環境変数を設定する
- `phpinfo()`で環境変数を出力しない
まとめ
PHPの環境変数(`$_ENV`)は、システム情報やアプリケーション設定を管理するのに便利です。 適切に使用すれば、安全で柔軟なアプリケーション開発が可能になります。