2
1

More than 1 year has passed since last update.

【PHP】.envで環境変数を扱いたいときの設定

Posted at

.envファイルから値を読み込むと接続できない

php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
  • なぜかuser名やpassword名を .env で読み込んで、変数に代入した値を使用すると、そんなファイルが無いと怒られてしまう。
  • .env を経由せずに同じファイル上で指定するとなぜか接続できる。

.envを読み込む設定

そもそも .env を読み込めないのは、デフォルトでは読み込む設定されていないから!!
phpdoenv をインストールする必要がある。

GitHub – vlucas/phpdotenv: Loads environment variables from .env to getenv(), $_ENV and $_SERVER automagically.

設定手順

①ターミナルで

$ composer require vlucas/phpdotenv

②そして .env を読み込みたいファイルで下記を追記

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

③.env ファイルはこんな感じで設定  なぜかpasswordは '' で括らないと denied された

DB_HOST = 123.45.67.89
DB_USER = honnban
DB_PASS = 'password'
DB_NAME = honnban_user

④ ②を記載したファイルで、設定した環境変数を使用する

$host = $_ENV['DB_HOST'];
2
1
0

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
2
1