亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么我的$ _ENV為空?

為什么我的$ _ENV為空?

PHP
肥皂起泡泡 2019-12-27 15:10:24
我正在運行,Apache/2.2.11 (Win32) PHP/5.3.0并且在.htaccess文件中執行了以下操作:SetEnv FOO bar如果我$_ENV在PHP文件中打印出變量,則會得到一個空數組。為什么我的環境變量沒有出現在這里?為什么首先是空的?我確實找到了變量,但是它出現在$_SERVER變量中。由于某種原因,它出現了兩次。為什么是這樣?[REDIRECT_FOO] => bar[FOO] => bar看來我可以使用來獲得它getenv('FOO'),所以也許我應該只使用它。但是我仍然對造成這種情況的原因有些好奇。這是Windows問題嗎?還是發生了什么事?
查看完整描述

5 回答

?
慕仙森

TA貢獻1827條經驗 獲得超8個贊

$_ENV 變量是從運行PHP的環境中導入的,并且取決于您的設置(操作系統,服務器,PHP是作為Apache模塊運行還是在FastCGI下運行,等等),這可能會有很大不同。


在Windows上以標準Apache + mod_php安裝的IIRC中,更改變量的唯一方法$_ENV是更改Windows的環境變量(請參閱參考資料)。在Windows上處理PHP擴展時,這可能很重要,因為其中的某些擴展(例如php_ldap:)只能通過on上的環境vars進行配置$_ENV。


查看完整回答
1 反對 回復 2019-12-27
?
慕村拓拓栽

TA貢獻2條經驗 獲得超1個贊

我也遇到了類似問題
查看完整回答
反對 回復 2020-01-02
?
weixin_慕少1111222

TA貢獻4條經驗 獲得超0個贊

好像是一個是服務端的變量一個是其他地方的用nginx遇到過類似的

查看完整回答
反對 回復 2020-01-02
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

REDIRECT_*如果您使用的是RewriteRules,則會顯示變量。在我的服務器上,它們也是如此。它可能與在FastCGI下運行有關。如果與suexec結合使用,最有可能清理整個環境的var池。PassEnv特別是可能需要進行其他配置才能恢復它們。至于為什么getenv()為您工作,我不知道。但是所有現象都是特定于您的服務器和php配置的。詢問服務器故障,他們應該知道。


查看完整回答
反對 回復 2019-12-27
  • 5 回答
  • 0 關注
  • 585 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號