Laravel5.4現(xiàn)在支持不同環(huán)境下env文件設(shè)置(好像是L5.4最新支持的吧,記不清楚了,也有可能L5.2-5.3就已經(jīng)支持了),可以針對(duì)不同環(huán)境(development, staging, production)設(shè)置env文件為:
development: .env.development staging: .env.staging production: .env.production
根據(jù)不同環(huán)境服務(wù)器設(shè)置系統(tǒng)變量(可根據(jù)phpinfo()查看APP_ENV環(huán)境變量是否OK):
development: APP_ENV=development staging: APP_ENV=staging production: APP_ENV=production
這樣,項(xiàng)目根目錄下就會(huì)有根據(jù)不同環(huán)境對(duì)應(yīng)的.env.xxx文件,放入版本控制,本地的環(huán)境對(duì)應(yīng).env不需要放入版本控制。
原理可看laravel的源碼:
namespace IlluminateFoundationBootstrap; use DotenvDotenv; use DotenvExceptionInvalidPathException; use SymfonyComponentConsoleInputArgvInput; use IlluminateContractsFoundationApplication; class LoadEnvironmentVariables { /** * Bootstrap the given application. * * @param IlluminateContractsFoundationApplication $app * @return void */ public function bootstrap(Application $app) { if ($app->configurationIsCached()) { return; } $this->checkForSpecificEnvironmentFile($app); try { (new Dotenv($app->environmentPath(), $app->environmentFile()))->load(); } catch (InvalidPathException $e) { // } } /** * Detect if a custom environment file matching the APP_ENV exists. * * @param IlluminateContractsFoundationApplication $app * @return void */ protected function checkForSpecificEnvironmentFile($app) { if (php_sapi_name() == "cli" && with($input = new ArgvInput)->hasParameterOption("--env")) { $this->setEnvironmentFilePath( $app, $app->environmentFile().".".$input->getParameterOption("--env") ); } if (! env("APP_ENV")) { return; } $this->setEnvironmentFilePath( $app, $app->environmentFile().".".env("APP_ENV") ); }
RightCapital招聘Laravel DevOps
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/23078.html
摘要:建立并切換到本地分支沐沐沐也可以直接用刪除本地倉(cāng)庫(kù)里的所有文件除了的文件夾,然后推送沐沐沐這個(gè)時(shí)候,遠(yuǎn)程倉(cāng)庫(kù)的分支便和本地倉(cāng)庫(kù)的分支一樣都是空白的,這樣就可以隨心所欲的推送了。 背景 最近在用laravel開(kāi)發(fā)微信小程序的接口,因?yàn)榉?wù)器PHP版本的問(wèn)題,分別用了laravel 5.6(php 7.1,開(kāi)發(fā)環(huán)境) 和 laravel 5.4 (php 5.6,服務(wù)器環(huán)境),開(kāi)發(fā)完成后...
摘要:最簡(jiǎn)化權(quán)限管理系統(tǒng),基于開(kāi)發(fā)?;陂_(kāi)發(fā),唯一優(yōu)化的是用權(quán)限和路由別名綁定,這樣代碼寫(xiě)好之后就可以直接使用。如果是超級(jí)管理員,即使沒(méi)有這個(gè)權(quán)限會(huì)自動(dòng)賦予權(quán)限給超級(jí)管理員角色。默認(rèn)管理員賬號(hào)密碼。然后正常執(zhí)行命令其他命令即可。 Any 最簡(jiǎn)化權(quán)限管理系統(tǒng),基于 Laravel5.4 開(kāi)發(fā)。由于 Laravel5.5 發(fā)布推遲,只好先寫(xiě)個(gè) Laravel5.4版本的,后面再升級(jí)上去。演示地址...
摘要:前邊已經(jīng)學(xué)會(huì)在本地用進(jìn)行開(kāi)發(fā)了,現(xiàn)在就讓我們將本地開(kāi)發(fā)的項(xiàng)目部署到阿里云服務(wù)器,來(lái)次實(shí)戰(zhàn)操作,阿里云部署環(huán)境阿里,,使用服務(wù)器,登錄。 前邊已經(jīng)學(xué)會(huì)在本地用Homestead進(jìn)行開(kāi)發(fā)了,現(xiàn)在就讓我們將本地開(kāi)發(fā)的項(xiàng)目部署到阿里云服務(wù)器,來(lái)次實(shí)戰(zhàn)操作,阿里云部署環(huán)境:阿里ECS,Ubuntu,使用Nginx服務(wù)器,SSH登錄。 一、服務(wù)器配置 如果你的服務(wù)器是剛申請(qǐng)的,則必須做一些基礎(chǔ)的配...
摘要:一發(fā)送郵箱其實(shí)不難,不如說(shuō)挺簡(jiǎn)單的,首先還是現(xiàn)在注冊(cè)一個(gè)賬號(hào)并且設(shè)置如下圖授權(quán)碼很重要的,請(qǐng)好好記住,待會(huì)在的中要配置到的二如果以上你都做完了,那接下來(lái)就是配置了你的賬號(hào)你的客戶端授權(quán)密碼你的賬號(hào)賬號(hào)名三然后接下來(lái)就是配置路由以及在控制器上 一、發(fā)送郵箱其實(shí)不難,不如說(shuō)挺簡(jiǎn)單的,首先還是現(xiàn)在163注冊(cè)一個(gè)賬號(hào)并且設(shè)置如下圖 showImg(https://segmentfault.c...
摘要:隊(duì)列的目的是將耗時(shí)的任務(wù)延時(shí)處理,比如發(fā)送郵件,從而大幅度縮短請(qǐng)求和相應(yīng)的時(shí)間。每一種隊(duì)列驅(qū)動(dòng)的配置都可以在該文件中找到,包括數(shù)據(jù)庫(kù),,,,以及同步本地使用驅(qū)動(dòng)。處理完畢后當(dāng)前任務(wù)會(huì)自動(dòng)刪除?;揪拖旅孢@個(gè)樣到此隊(duì)列簡(jiǎn)單配置與使用就結(jié)束了。 概述 什么是隊(duì)列? 百度百科是這樣說(shuō)的 隊(duì)列是在傳輸過(guò)程中保存數(shù)據(jù)的容器。 舉幾個(gè)生活中例子: iphone手機(jī)新款發(fā)布,三里屯iphone進(jìn)的...
閱讀 3053·2021-09-23 11:32
閱讀 3007·2021-09-22 15:12
閱讀 1772·2019-08-30 14:07
閱讀 3527·2019-08-29 16:59
閱讀 1719·2019-08-29 11:11
閱讀 2376·2019-08-26 13:50
閱讀 2481·2019-08-26 13:49
閱讀 2671·2019-08-26 11:49