.envファイルから値を読み込むと接続できない
php_network_getaddresses: getaddrinfo failed: nodename nor servname provided, or not known
- なぜかuser名やpassword名を .env で読み込んで、変数に代入した値を使用すると、そんなファイルが無いと怒られてしまう。
- .env を経由せずに同じファイル上で指定するとなぜか接続できる。
.envを読み込む設定
そもそも .env を読み込めないのは、デフォルトでは読み込む設定されていないから!!
phpdoenv をインストールする必要がある。
設定手順
①ターミナルで
$ 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'];