2015-12-09 51 views
0

我最近開始在Laravel開發應用程序。我在2臺機器(家庭工作站和筆記本電腦)上開發,並在另一臺機器上運行「生產」應用程序。laravel中的自動檢測環境

有幾種設置這些機器上的不同(最顯着的DB_USERNAME/DB_PASSWORD

什麼將自動擁有laravel檢測它的上(例如,通過主機名或IP)?

運行環境的最佳方法

我發現一些教程像https://mattstauffer.co/blog/laravel-5.0-environment-detection-and-environment-variableshttp://developers.ph/laravel-framework/laravel-5/how-to-setup-multiple-environment-for-laravel-5-developers-way/但他們似乎依靠手動設置環境,而不是某個地方的檢測它。

+1

我想你回答了你自己的問題。使用環境變量可能是最好的方法。您可以在Apache/Nginx虛擬主機中設置變量。 – Ian

+2

您應該在.env文件中放置環境相關的設置。此文件不應該在主機之間共享 –

+0

您必須在某處(在本例中爲.env文件)設置環境值,因爲除非您告訴系統,否則它如何知道它是哪個環境? – Vikas

回答

1

看着你的Laravel安裝根會有一個.env文件containin g您的配置 - 設置它們,但不要將它們包含在源代碼管理中。下面的文件的內容。

APP_ENV=local 
APP_DEBUG=true 

DB_HOST=localhost 
DB_DATABASE=database 
DB_USERNAME=root 
DB_PASSWORD=root 

CACHE_DRIVER=file 
SESSION_DRIVER=file 
QUEUE_DRIVER=sync 

MAIL_DRIVER=mandrill 
MAIL_HOST=smtp.mailgun.org 
MAIL_PORT=587 
MAIL_USERNAME=null 
MAIL_PASSWORD=null 
MAIL_ENCRYPTION=null 
+0

好的,我只是想複製一切,包括.env文件。我現在看到最好是複製所有期望env文件。 – ErikL