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