W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
開(kāi)發(fā)者常常希望當(dāng)系統(tǒng)運(yùn)行在開(kāi)發(fā)環(huán)境或生產(chǎn)環(huán)境中時(shí)能有不同的行為, 譬如,在開(kāi)發(fā)環(huán)境如果程序能輸出詳細(xì)的錯(cuò)誤信息將非常有用,但是在 生產(chǎn)環(huán)境這將造成一些安全問(wèn)題。
CodeIgniter 默認(rèn)使用 $_SERVER['CI_ENV'] 的值作為 ENVIRONMENT 常量, 如果 $_SERVER['CI_ENV'] 的值沒(méi)有設(shè)置,則設(shè)置為 'development'。在 index.php 文件的頂部,你可以看到:
define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');
$_SERVER['CI_ENV'] 的值可以在 .htaccess 文件或 Apache 的配置文件中 使用 SetEnv 命令進(jìn)行設(shè)置,Nginx 或其他 Web 服務(wù)器也有類(lèi)似的設(shè)置方法。 或者你可以直接刪掉這個(gè)邏輯,根據(jù)服務(wù)器的 IP 地址來(lái)設(shè)置該常量。
使用這個(gè)常量,除了會(huì)影響到一些基本的框架行為外(見(jiàn)下一節(jié)), 你還可以在開(kāi)發(fā)過(guò)程中使用它來(lái)區(qū)分當(dāng)前運(yùn)行的是什么環(huán)境。
CodeIgniter 系統(tǒng)中有幾個(gè)地方用到了 ENVIRONMENT 常量。這一節(jié)將描述 它對(duì)框架行為有哪些影響。
如果將 ENVIRONMENT 常量設(shè)置為 'development' ,當(dāng)發(fā)生 PHP 錯(cuò)誤時(shí)錯(cuò)誤信息會(huì)顯示到瀏覽器上。與之相對(duì)的,如果將常量設(shè)置為 'production' 錯(cuò)誤輸出則會(huì)被禁用。在生產(chǎn)環(huán)境禁用錯(cuò)誤輸出是個(gè) 不錯(cuò)的安全實(shí)踐。
另外,CodeIgniter 還可以根據(jù)不同的環(huán)境加載不同的配置文件, 這在處理譬如不同環(huán)境下有著不同的 API key 的情況時(shí)相當(dāng)有用。 這在 配置類(lèi) 文檔中的“環(huán)境”這一節(jié) 有著更詳細(xì)的介紹。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: