2013-08-22 2 views
2

내 Apache (2.2) virtualHost 구성에서 다른 곳에서 오류 로그를 처리하고 싶습니다. toPhp 변수가 사이트에서 사용할 수있는 동안PHP 스크립트에서 환경 변수 가져 오기

<VirtualHost *:80> 

    .... 

    SetEnv toPhp hello 
    ErrorLog "|php /var/www/error.php >>/var/www/logs/vialora.log" 

    .... 

</VirtualHost> 

그러나,이 가상 호스트를위한 것입니다 그것은 error.php에 없습니다. 이 환경 변수의 값이 동적이라고 가정하고이 환경 변수에 어떻게 액세스합니까? 내 가상 호스트에서

+0

그래서'echo $ _SERVER [ "toPhp"]'는 아무것도 표시하지 않습니까? 당신의 오류는 무엇입니까? –

+0

'$ stdin = fopen ('php : // stdin', 'r'); ob_implicit_flush (true); var_dump (phpinfo()); ', phpinfo()를 var_dumps하지만 toPhp 값은 설정되지 않습니다. – Lg102

+0

phpinfo() 출력에서 ​​모든 서버 변수를 사용할 수 있습니까? 또는 PHP가 효과적으로 가상 호스트 구성에서 ErrorLog 항목을 통해 명령 줄에서 호출되고 있습니까? 그럼에도 불구하고, 매뉴얼'export toPhp = hello'와'php /srv/site/phpinfo.php | APACHE_PID_FILE, APACHE_RUN_USER, PATH, _, PWD, LANG, APACHE_RUN_GROUP, SHLVL, PHP_SELF, SCRIPT_NAME, SCRIPT_FILENAME, PATH_TRANSLATED, DOCUMENT_ROOT, REQUEST_TIME, ARGV : GREP toPhp', 나는 여전히 toPhp가 $ _SERVER –

답변

0

나는 설정 :

<VirtualHost *:80> 
... 
SetEnv APPLICATION_ENV development 
... 
</VirtualHost> 

을 그런 다음 PHP 스크립트에서 내가 쓰는이 가상 호스트 내부 :

// Display errors (just in case) 
ini_set("display_errors", E_ALL | E_STRICT); 

// Define application environment 
defined('APPLICATION_ENV') || 
     define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production')); 

매력처럼 작동.

+0

문제 : 호출 된 PHP 스크립트가 가상 호스트에있는 것처럼 처리되지 않습니다. – Lg102

관련 문제