Laravel以外のPHPで .env を使う方法

🔧 1. 必要なライブラリをインストール

vlucas/phpdotenv ライブラリを使います。

composer require vlucas/phpdotenv

※ composer がまだ使えない場合は、先に Composerのインストール をご案内します。

📁 2. プロジェクト構成の例

your-project/
├── .env
├── index.php
├── vendor/
└── composer.json

✏️ 3. .env ファイルの記述例

ADMIN_PASSWORD_HASH=$2y$10$AbCdEfG...
DB_NAME=my_database

📄 4. index.php での読み込みコード例

<?php
require_once __DIR__ . '/vendor/autoload.php';

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

echo $_ENV['DB_NAME']; // my_database

🔐 HTMLフォームと組み合わせた簡単な例

login.html

<form method="POST" action="login.php">
  <input type="password" name="password" placeholder="パスワード">
  <button type="submit">ログイン</button>
</form>

login.php

<?php
require_once __DIR__ . '/vendor/autoload.php';
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();

$hashed = $_ENV['ADMIN_PASSWORD_HASH'];
$input = $_POST['password'];

if (password_verify($input, $hashed)) {
    echo "ログイン成功!";
} else {
    echo "パスワードが間違っています。";
}

🧠 補足:.env のメリット

❓ 環境で .env を使いたい場所は?