laravel中env獲取不到數(shù)據(jù)怎么解決

這篇“l(fā)aravel中env獲取不到數(shù)據(jù)怎么解決”文章的知識(shí)點(diǎn)大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價(jià)值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“l(fā)aravel中env獲取不到數(shù)據(jù)怎么解決”文章吧。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括河口網(wǎng)站建設(shè)、河口網(wǎng)站制作、河口網(wǎng)頁制作以及河口網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,河口網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到河口省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

在laravel中,可用“php artisan config:clear”語句清除config緩存,解決env獲取不到數(shù)據(jù)的問題;該問題產(chǎn)生的原因是緩存配置文件通過env函數(shù)讀取環(huán)境變量,可能會(huì)導(dǎo)致該讀取不到環(huán)境變量,所以返回null。

本文操作環(huán)境:Windows10系統(tǒng)、Laravel5.4版、Dell G3電腦。

laravel中env獲取不到數(shù)據(jù)怎么辦

解決方案:

清除config緩存命令

php artisan config:clear

原因

在 Laravel 中,如果執(zhí)行 php aritisan config:cache 命令,Laravel 將會(huì)把 app/config 目錄下的所有配置文件“編譯”整合成一個(gè)緩存配置文件到 bootstrap/cache/config.php,每個(gè)配置文件都可以通過 env 函數(shù)讀取環(huán)境變量,這里是可以讀取的。但是一旦有了這個(gè)緩存配置文件,在其他地方使用 env 函數(shù)是讀取不到環(huán)境變量的,所以返回 null.

讓我們看看這段代碼,Illuminate/Foundation/Bootstrap/DetectEnvironment.php line 18:

public function bootstrap(Application $app){
        if(!$app->configurationIsCached()){
            $this->checkForSpecificEnvironmentFile($app);
            try{
                (newDotenv($app->environmentPath(),$app->environmentFile()))->load();
            }catch(InvalidPathException$e){
            }
        }
    }

這個(gè)方法在框架啟動(dòng)后就會(huì)運(yùn)行,這段代碼說明了如果存在緩存配置文件,就不會(huì)去設(shè)置環(huán)境變量了,配置都讀緩存配置文件,而不會(huì)再讀環(huán)境變量了。

因此,在配置文件即 app/config 目錄下的其他地方,讀取配置不要使用 env 函數(shù)去讀環(huán)境變量,這樣你一旦執(zhí)行 php artisan config:cache 之后,env 函數(shù)就不起作用了。所有要用到的環(huán)境變量,在 app/config 目錄的配置文件中通過 env 讀取,其他地方要用到環(huán)境變量的都統(tǒng)一讀配置文件而不是使用 env 函數(shù)讀取。

以上就是關(guān)于“l(fā)aravel中env獲取不到數(shù)據(jù)怎么解決”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對(duì)大家有幫助,若想了解更多相關(guān)的知識(shí)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:laravel中env獲取不到數(shù)據(jù)怎么解決
分享路徑:http://muchs.cn/article40/pdjeeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、面包屑導(dǎo)航用戶體驗(yàn)、軟件開發(fā)、網(wǎng)站建設(shè)、網(wǎng)站營銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)