Neden benim $ _ENV boş?

0 Cevap php

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 ...

0 Cevap