ホームページ  >  記事  >  バックエンド開発  >  PHP フレームワークでの .env ファイルの読み込みプロセスについて

PHP フレームワークでの .env ファイルの読み込みプロセスについて

藏色散人
藏色散人転載
2020-01-29 13:43:293080ブラウズ

PHP フレームワークでの .env ファイルの読み込みプロセスについて

多くのフレームワークは現在、ルート ディレクトリの .env ファイルを使用して環境変数を構成しています。PHP 自体はこのファイルを解析しません。このファイルを読み取って解析するには、PHP コードを使用する必要があります。環境変数に入れてください。

たとえば、thinkphp で .env ファイルの読み込みプロセスを表示するには、次の strace コマンドを使用して、fpm プロセス stat ファイルのステータスを表示します。

strace $(pidof 'php-fpm'|sed 's/\([0-9]*\)/-p \1/g') -e stat -s 1024

返される項目は、.env ファイルが存在するかどうかを確認することです。

[pid 11692] stat("/data1/mailLog/public/phpdev/xxx/xxx/.env", 0x7fff6ba5f9f0) = -1 ENOENT (No such file or directory)

処理されるコードは次の文です

if (is_file(ROOT_PATH . '.env')) {
    $env = parse_ini_file(ROOT_PATH . '.env', true);
    foreach ($env as $key => $val) {
        $name = ENV_PREFIX . strtoupper($key);
        if (is_array($val)) {
            foreach ($val as $k => $v) {
                $item = $name . '_' . strtoupper($k);
                putenv("$item=$v");
            }
        } else {
            putenv("$name=$val");
        }
    }
}

関連する php の知識については、php チュートリアル をご覧ください。

以上がPHP フレームワークでの .env ファイルの読み込みプロセスについての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。