2014-10-30 4 views
1

내 아파치 인스턴스에서 env 변수 APP_ENV=development을 설정 중입니다. 그래서 같은 (테스트 스위트를 발사의 인스턴스) 내 PHP 측에서 동적으로 변경하려고 :PHP putenv() 업데이트 안 함

putenv('APP_ENV=testing') 
var_dump(getenv('APP_ENV')); // still returns development 

나는 시도했다 :

  • 의 php.ini에서 안전 모드에서 PHP 시작 php.ini 파일에 safe_mode_allowed_env_vars = PHP_ APP_ 설정

업데이트 :

PHP 버전 5.4.16을 사용하고 있으며 안전 모드가 더 이상 사용되지 않습니다. putenv가 기존 env를 덮어 쓰거나 심지어 설정을 해제하는데도 작동한다는 것을 의미하는지 확실하지 않습니다.

답변

5

당신은 당신이 그것을 사용 복구하려면 apache_setenvapache_getenv

apache_setenv('APP_ENV','testing'); 

를 사용한다, 아파치 변수를 사용하여, 이렇게됩니다

apache_setenv('APP_ENV','testing'); 
+0

와우는 작동하는 것 같습니다. 왜 지구상에 PHP가 env를 설정하는 두 가지 다른 방법을 가지고 있습니까? 이제 env를 올바르게 설정하기 위해 실행중인 서버 유형을 감지해야합니다. –

0

워드 프로세서 목록은 쉼표로 구분해야 할 필요가 말한다.

try PHP_, APP_

+0

죄송합니다. 질문을 잘못 작성했지만'APP_ENV = testing'처럼 설정하고 있습니다. –

+0

업데이트 된 질문보기 –