課程
/后端開發
/ThinkPHP
/快速入門ThinkPHP 5.0--基礎篇
為什么打印 $_ENV 和 $_SERVER 的結果一樣,而且打印$_ENV也沒顯示.env文件的配置內容
2018-05-03
源自:快速入門ThinkPHP 5.0--基礎篇 2-12
正在回答
老哥牛逼
第一,要想讓$_ENV的值不為空,php.ini配置中設置variables_order = "EGPCS"或開啟。
第二,$_ENV本身就不會顯示.env配置文件中配置的環境變量信息,$_ENV只會顯示單獨配置的環境變量信息,而要想得到.env配置文件中的環境變量參數配置信息,只能通過Env::get()獲得
可以直接在配置文件中使用環境變量進行本地環境和服務器的自動配置,例如:
return?[??? ?????'hostname'??=>??Env::get('hostname','127.0.0.1'), ];
環境變量中設置的APP_DEBUG和APP_TRACE參數會自動生效(優先于應用的配置文件),其它參數則必須通過Env::get方法才能讀取。
第一步:$_ENV會為空,其原因通常是php的配置文件php.ini的配置項為:variables_order = "GPCS"。要想讓$_ENV的值不為空,那么variables_order的值應該加上一個大寫字母“E”,即:variables_order = "EGPCS"。
第二步:
Env不顯示的問題,需要在base.php中 putenv的同時,將數據也寫入$_ENV,就可以解決了
打開thinkphp目錄下的base.php文件修改。54行左右?putenv("$name=$val");//寫入環境變量,才能在打印$_ENV文件的時候顯示出來配置的環境變量$_ENV[$name]=$val;
冷月蕭鋒
舉報
ThinkPHP5已發布多時,想了解ThinkPHP5的新特性嗎?老司機帶你馬上出發~
1 回答為啥我的ENV打印出來是array(0)
1 回答問什么打印不出來{$Think.SERVER.HTTP_HOST}
2 回答[database] 打印不出來
2 回答session打印出來為空
2 回答為什么我打印出來沒有覆蓋?打印出的是兩個數組
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-02-18
老哥牛逼
2018-05-22
第一,要想讓$_ENV的值不為空,php.ini配置中設置variables_order = "EGPCS"或開啟。
第二,$_ENV本身就不會顯示.env配置文件中配置的環境變量信息,$_ENV只會顯示單獨配置的環境變量信息,而要想得到.env配置文件中的環境變量參數配置信息,只能通過Env::get()獲得
可以直接在配置文件中使用環境變量進行本地環境和服務器的自動配置,例如:
2018-05-03
第一步:$_ENV會為空,其原因通常是php的配置文件php.ini的配置項為:variables_order = "GPCS"。
要想讓$_ENV的值不為空,那么variables_order的值應該加上一個大寫字母“E”,即:variables_order = "EGPCS"。
第二步:
Env不顯示的問題,需要在base.php中 putenv的同時,將數據也寫入$_ENV,就可以解決了
打開thinkphp目錄下的base.php文件修改。54行左右?
putenv("$name=$val");
//寫入環境變量,才能在打印$_ENV文件的時候顯示出來配置的環境變量
$_ENV[$name]=$val;