Azure를 사용하여 코드를 배포하므로 중요한 변수 (예 : client_id 및 client_secrets)를 저장하기 위해 서버 변수를 사용하고 있습니다.내장 된 웹 서버를 사용하여 PHP에서 Windows의 환경 변수를 읽는 방법?
$_SERVER['APPSETTING_Imgur_Client_Id'];
Set Azure Application Environment variables
내가 (직접 창에) ENVIRONNEMENT 변수를 설정하여, 내 개발 ENVIRONNEMENT (윈도우)에서 같은 mecanism를 사용하여 내 응용 프로그램에서 사용하고 싶습니다 .
그래서 내가 정의한 2 개 윈도우 변수 (system properties->Environment Variables->User Variables
) :
Set Windows's Evironment variables
을하지만 양태에서는 변수 $_SERVER['APPSETTING_Imgur_Client_Id'];
(cmd를 php -S [::]:80 index.php
포함)을 통해 사용할 수 없습니다. 기본 $ _SERVER 변수 만 있습니다.
그래서 askying 해요 :
어떻게 PHP와 양태에서는 윈도우의 evironment 변수를 읽어?
PHP 응용 프로그램 코드를 사용하지 않고 사용자 정의 $ _SERVER 변수를 추가하는 방법을 사용할 수없는 경우.
PHP 7.1.10 & Windows Server 2016
나는 (지금
System variables
에서) 변수의 위치를 변경하고 컴퓨터를 다시 시작 :
내가 사용하고 있습니다.
하지만 그 후에는 getenv('APPSETTING_Imgur_Client_Id'')
또는 $_SERVER
으로 내 맞춤 변수에 액세스 할 수 없습니다.
는하지만 내 코드를 편집하려면 명령 줄 php -r 'var_export($_SERVER);'
로 내 변수
php -S [::]:80 index.php
과 로컬 디렉토리에서 웹 서버를 실행합니다.
php -S
명령이 Windows 환경을 통과하지 못하는 경우가 있습니다.
감사합니다.
편집 : 솔루션 : getenv
페이지의 사진 아래
사용 :
Postman sample, with both user env and system env
@NineBerry 응답이 정확합니다. 'getenv ('somevar ')'는 작동하지 않으며 $ _SERVER ['somevar ']가 아닙니다. . 이전 질문으로 롤백해야합니까? 아니면 답변을 게시해야합니까? 고마워. – user8738918