groovy是什么 gradle比maven好為什么用的人少?
gradle比maven好為什么用的人少?我們公司已經(jīng)在多個項(xiàng)目中使用了gradle,但是大多數(shù)項(xiàng)目仍然使用maven,估計將來會使用maven。為什么?這是因?yàn)楦窭聽柕臍⑹郑簞”臼侨绱藦?qiáng)大。早期的
gradle比maven好為什么用的人少?
我們公司已經(jīng)在多個項(xiàng)目中使用了gradle,但是大多數(shù)項(xiàng)目仍然使用maven,估計將來會使用maven。為什么?這是因?yàn)楦窭聽柕臍⑹郑簞”臼侨绱藦?qiáng)大。
早期的構(gòu)建是腳本化的,使用SH或bat將編譯、打包、部署和其他過程結(jié)合起來。后來,它演變成了用XML描述的ant工具,但它仍然可以編寫許多自定義任務(wù),調(diào)用本地命令進(jìn)行打包,并可以組合各種任務(wù),類似于bat。他們的共同特點(diǎn)是:靈活!您可以指定自己的依賴路徑來個性化打包過程。直到后來,Maven出現(xiàn)了,不同的項(xiàng)目只能通過不同的ArchType來構(gòu)建。每個項(xiàng)目類型的項(xiàng)目目錄都是固定的。如果沒有問題,一個package命令就可以了。沒有個性化的配置(除了mojo),約定勝于配置是它的理念!你只要明白pom.xml文件基本配置就足夠了。
Gradle結(jié)合了maven的優(yōu)點(diǎn),同時保留了腳本調(diào)用的特性。它往往給人們太多的選擇和機(jī)會,但它會使項(xiàng)目(尤其是大型項(xiàng)目)的建設(shè)和配置復(fù)雜化。因此,新手很難掌握它的DSL語法,這是一個簡化的groovy調(diào)用。有時他們不了解groovy語言及其語法,因此很難理解和編寫好的構(gòu)造腳本,而且學(xué)習(xí)成本很高。
如何讓PHP能夠讀取系統(tǒng)環(huán)境變量?
1、FPM模式
1。通過服務(wù)器
例如nginx配置中的設(shè)置:
fastcgi_uparamenv_uuxxx123456
每次請求頁面時nginx都會將此變量傳遞給PHP。PHP可以使用getenv函數(shù)或$Server全局變量。
2. 傳遞FPM配置
FPM每次啟動時都讀取PHP-fpm.conf格式文件中的環(huán)境變量設(shè)置,例如:
env[env]u30]=“test”
或讓FPM讀取系統(tǒng)環(huán)境變量,例如:
env[envuxxx]=$envu30]]請注意,此方法應(yīng)確保系統(tǒng)環(huán)境變量存在并可用不被sudo禁用。
如果FPM在sudo模式下啟動,sudo將默認(rèn)禁用一些環(huán)境變量。您可以通過以下方式釋放限制:
VIM/etc/sudoers
defaults envuureset
defaults envukeep=“envuxxx”
或者放開所有限制:
defaults!最后,如果你修改PHP-fpm.conf格式需要重新啟動FPM才能生效的設(shè)置。類似地,PHP可以使用getenv函數(shù)或$服務(wù)器全局變量獲取環(huán)境變量。
2、命令行模式
命令行模式限制較少,可以通過getenv函數(shù)或$實(shí)現(xiàn)。服務(wù)器全局變量獲取對當(dāng)前執(zhí)行用戶有效的系統(tǒng)環(huán)境變量。另外,要注意sudo的局限性。