I Apache/2.2.11 (Win32) PHP/5.3.0
koşuyorum ve ben benim htaccess dosyasında aşağıdaki yaptı.:
SetEnv FOO bar
Ben bir PHP dosyası $_ENV
değişkeni yazdırmak, ben boş bir dizi olsun. Neden ortam değişkeni görünmüyor? Neden ilk etapta boş?
Ama benim değişken buldunuz, ama $_SERVER
değişken görünür. Ve nedense bu tür, iki kez görünür. Neden bu?
[REDIRECT_FOO] => bar
[FOO] => bar
Ben getenv('FOO')
, belki sadece bunun yerine kullanmak gerekir kullanarak alabilirsiniz görünür. Ama hala ne bu neden biraz merak ediyorum. Bu Windows sorunu var mı? Ya da ne oluyor?
Update: $_ENV
dizisi nedeniyle php.ini içinde bir ayar nüfuslu olmadığını Bulundu:
; This directive determines which super global arrays are registered when PHP
; starts up. If the register_globals directive is enabled, it also determines
; what order variables are populated into the global space. G,P,C,E & S are
; abbreviations for the following respective super globals: GET, POST, COOKIE,
; ENV and SERVER. There is a performance penalty paid for the registration of
; these arrays and because ENV is not as commonly used as the others, ENV is
; is not recommended on productions servers. You can still get access to
; the environment variables through getenv() should you need to.
; Default Value: "EGPCS"
; Development Value: "GPCS"
; Production Value: "GPCS";
; http://php.net/variables-order
variables_order = "GPCS"
Ben varsayılan değer olarak bu geri ayarlarsanız, $_ENV
içinde şeyler olsun. Ancak FAN değeri hala orada görünmüyor ...