>  기사  >  백엔드 개발  >  PHP 프레임워크의 .env 파일 로드 프로세스 정보

PHP 프레임워크의 .env 파일 로드 프로세스 정보

藏色散人
藏色散人앞으로
2020-01-29 13:43:293105검색

PHP 프레임워크의 .env 파일 로드 프로세스 정보

이제 많은 프레임워크는 루트 디렉터리의 .env 파일을 사용하여 환경 변수를 구성합니다. 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 tutorial을 방문하세요!

위 내용은 PHP 프레임워크의 .env 파일 로드 프로세스 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제