2017-03-21 61 views
4

有沒有人有env變量的問題?由於某種原因,幫助者env('VARIABLE')每次使用時都會返回null。它出乎意料地發生,我真的不知道原因。重新啓動apache/IDE /計算機不起作用。Laravel沒有閱讀env變量

回答

7

該解決方案很簡單,但IDE和調試器都沒有提供任何相關信息。它只是返回null。當您使用php artisan config:cache,由於文檔:

如果在部署過程中執行命令php artisan config:cache,你應該確保你只調用內您的配置文件從env()功能。

顯然我有env變量在配置文件之外,所以在緩存之後我無法再使用它了。 php artisan config:clear使其恢復工作。

我發現更多關於env的用法,它應該在配置文件中使用只有。您可以使用其他幫助方法config()從項目的其餘部分訪問env變量。確保將其分配給配置文件中的另一個鍵,例如'key' => env('CACHE_DRIVER')

更重要的是,您必須記住每次運行php artisan config:cache時您將更改.env文件。 Laravel不會加載新值,直到它被緩存。如果它沒有被緩存,則不需要這樣做。

+2

'config:cache'運行'config:clear'第一個btw :-) – lagbox

+0

@lagbox,沒錯,修正了它 – wujt

1

運行這些命令

composer dump-autoload 
php artisan cache:clear 
php artisan config:clear 
php artisan view:clear 

現在嘗試讀取

$value = env('VARIABLE_NAME'); 

如果不是工作到現在的話,

嘗試另一種語法閱讀環境變量。

$value=getenv('VARIABLE_NAME');