2016-11-15 2 views
0

하늘 구름이있는 램프 서버에 PHP 기반 응용 프로그램을 설치했습니다. 코드 getenv('something');을 사용하여 응용 프로그램에 환경 변수를 사용했습니다. 나는 나의 로컬 호스트와 heroku와 양쪽 장소에서 그것을 시험해 보았다. 그것은 잘 작동하는 것처럼 보인다.응용 프로그램 환경이 올바르게 설정되지 않았습니다. LAMP Azure Cloud

나는 /etc/environment에 푸른 구름에 내 리눅스 서버에 환경 변수를 추가하고 난 명령 printenv을 사용할 때 때 나는 .. 등등이 login_username = root과 같은 예를 들어, 거기에 나열된 모든 내 환경을 볼 수 있습니다

나는 아파치 2 서버를 재부팅했지만 운이 없다.

오류를 보거나 어떤 환경 변수가 작동하지 않는지 또는 아무도 작동하는지 여부를 알 수 없습니다. 나는 많은 것을 온라인으로 봤다. 그리고 그것은 당신이 푸른 대시 보드에서 그것을 할 수있다라고 말한다. 그러나 나는 그것도 어떤 운도 가지지 않고 있었다.

그래서 기본적으로 내가 지금 표시하기하고있는 유일한 방법은 바로, 우리가 성공적으로 환경 변수를 얻을 수있는 터미널 php getenv.php에서 PHP 명령을 실행하면 내가 성공적으로 내 시나리오에서, 문제를 재현 The application environment is not set correctly.

답변

0

입니다. 그래서 아파치의 문제 일 수 있습니다. 우리가 /etc/init.d/apache2에서 아파치의 스크립트에 뛰어들 경우

, 우리는 다음과 같은 섹션을 찾을 수 있습니다 그래서 ENV 변수를 덮어

ENV="env -i LANG=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" 
if [ "$APACHE_CONFDIR" != /etc/apache2 ] ; then 
     ENV="$ENV APACHE_CONFDIR=$APACHE_CONFDIR" 
fi 
if [ "$APACHE_ENVVARS" != "$APACHE_CONFDIR/envvars" ] ; then 
     ENV="$ENV APACHE_ENVVARS=$APACHE_ENVVARS" 
fi 

을, 우리는 /etc/apache2/envvars의 변수를 설정해야합니다. 다음

내 솔루션, /etc/environment에서 변수를 설정합니다

export VAR="FOO" 

그리고 /etc/apache2/envvars에 다음 텍스트 섹션을 추가 :

if [ -f /etc/environment ]; then 
    . /etc/environment 
fi 

에서 마지막으로 아파치를 다시 시작합니다.

더 이상의 우려 사항이 있으면 언제든지 알려주세요.

+0

내 etc 파일을 검색했지만 could not는 apache2라는 폴더를 찾았습니다. – FaF

+0

'apache2'가 없다면 대신'httpd'를 검색 할 수 있습니다. –

+0

하지만 envvars에 제공 한 코드는 어디에 추가합니까? – FaF