문제

내 apache 등록하는 몇 가지의 사전 정의된 환경할 수 있도록 그것을 검색하여 getenv 기능 in php.이렇게 하려면 어떻게 해야 합니까?나도 추가/etc/profile.d/foo.sh 수출 FOO=/bar/baz 를 사용하여 루트와 아파치를 다시 시작.

도움이 되었습니까?

해결책

환경변수는 상속에 의 프로세스에서 Unix.에 있는 파일을/etc/profile.d 만 실행(현재 쉘에서,지에)할 수 있습니다.그 값을 변경하면 거기에 다음 다시 시작하는 프로세스 업데이트하지 않습니다.

가능한 수정 사항:

  • 로그 밖으로/로그인 후,아파치 시작
  • source file: # . /etc/profile.d/foo.sh, 다음 아파치를 다시 시작
  • 원본 파일에 아파치 init 스크립트

당신이 또한 필요가 있는지 확인 /etc/profile.d/ 공급되면 아파치 시작 init 오히려 자신보다.

최고의 해결할 수 있도에 따라 달라질 분배기 때문에 사용하는 그들이 사용하는 다른 계획에 대한 구성입니다.

다른 팁

당신이 사용할 수 있는 SetEnv 에서 당신의 파일을 config(/etc/httpd/conf.d/*.conf.htaccess...).또한 당신은 당신이 믿을 수 없을 정도로 그들을 에서는/etc/sysconfig/httpd(에 RPM 기반 distribs)및 내보내기 들(참고:테스트되지 않음).

참고:데하는 경우 몇 가지 분포 시을 가능한 한 많은 만큼 시스템 구성에 관한 한,에서 공개적으로 접근 가능한 서비스와 같은 아파치.그렇지 않은 경우에,그들은 수도 있습니다 일을 시작 이후 버전에서.따라서 나는 당신이 명시적으로 합니다.를 공유해야 하는 경우 이러한 설정은 아파치 사과의 조개를 시도할 수 있습니다 소싱 /etc/profile.d/yourprofile.sh/etc/sysconfig/httpd

아파치 설정 파일을 허용할 환경변수를 설정에서 사이트별 기준입니다.

그래서 만약 당신의 웹 서버에 페이지가 제공 하에서 두 가지 논리적할 수 있는 사이트가 같은 환경변수 설정이 다른 사이트하고 따라서 얻을 당신의 PHP 을 다르게 반응한다.

아파치 mod_env 자세한 내용:

해야 하는 경우 환경변수는 아파치만,무엇이 나를 위해 일하던 편집 /etc/apache2/envvars 고 다시 시작이 아닙니다.추가 이러한 설정:

export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top