您好,登錄后才能下訂單哦!
這篇文章主要介紹了composer.json中如何配置信息,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
Config
下面由composer命令使用教程欄目給大家介紹 composer.json 中配置相關的信息。
process-timeout 請求過程超時設置
默認請求超時時間設置為 300 秒 ,像使用 Git 進行 Clone 操作時一樣,Composer 可以在請求超時之前一直運行,直到完成安裝。如果你的網絡速度不夠快,或者要加載的內容比較多,可以把超時時間設置的高一些。
use-include-path 使用包含路徑設置
默認設置 false,如果設置成 true, Composer 自動加載器會自動查找 PHP 路徑中包含的類。
preferred-install 安裝首選項設置
默認設置 auto 模式 ,可以設置為 source, dist 或者 auto 模式。這個選項允許你將 Composer 設置為自己喜歡的模式。要進行更精確的安裝首選項設置,可以使用哈希模式。
{ "config": { "preferred-install": { "my-organization/stable-package": "dist", "my-organization/*": "source", "partner-organization/*": "auto", "*": "dist" } } }
請注意:設置選項模式使用的順序很重要。精確的設置模式應該在寬泛的設置模式之前使用,精確的模式設置才會生效。在全局和包設置中,當混合使用字符串與哈希進行設置時,字符串設置項將轉換為 * 模式。
store-auths
認證彈框后采取的動作,有三個選項:
true 永遠存儲認證信息;
false 不存儲認證信息;
"prompt" 每一次都會要求重新驗證,此為默認項。
github-protocols
默認為 ["https", "ssh", "git"]。從 github.com 克隆時使用的協議優先級清單,git 協議不是加密傳輸,所以只有當 secure-http 項設置為關閉時,才會優先使用 git 協議進行克隆。如果你想設置遠程 Push URL 使用 HTTPS 協議而非 SSH (git@github.com:...) 協議,你可以只設置 ["https"] ,這樣 Composer 就會停止重寫 Push URL 為 SSH 協議。
github-oauth
一個域名和 Oauth Keys 的列表。 例如:使用 {"github.com": "oauthtoken"} 作為此選項的值, 將使用 oauthtoken 來訪問 github 上的私人倉庫,并繞過基于 IP 的 API 使用頻率。 點此獲取 關于如何獲取 GitHub 的 OAuth token。
gitlab-oauth
一個域名和 Oauth Keys 的列表。 例如:使用 {"gitlab.com": "oauthtoken"} 作為此選項的值, 將使用 oauthtoken 來訪問 Gitlab 上的私人倉庫。請注意:如果你的代碼不是托管在 gitlab.com 上的,你還需要配置這個參數 —— gitlab-domains 。
gitlab-token
一個域名和 Private Token 的列表。例如: 使用 {"gitlab.com": "privatetoken"} 作為這個選項的值,將使用 privatetoken 來訪問 Gitlab 上的私人倉庫。請注意:如果你的代碼不是托管在 gitlab.com 上的,你還必須指定這個參數 —— gitlab-domains 。
disable-tls
默認為 false。如果設置為 true,所有的 HTTPS URL 將會被替換成 HTTP,并且網絡層加密將不被使用。開啟這個選項會有安全風險,所以不建議開啟,更好地辦法是在 php.ini 中開啟 php_openssl 擴展。
secure-http
默認為 true 。如果設置為 true,只有 HTTPS URL 才被允許在 Composer 中使用,如果你真的確定需要使用 HTTP 來訪問一些東西,你可以關閉它,但使用 Let's Encrypt 這樣的供應商來獲得一個免費的 SSL 證書會是一個更好地選擇。
bitbucket-oauth
一個域名和使用者名稱的列表。比如使用 {"bitbucket.org": {"consumer-key": "myKey", "consumer-secret": "mySecret"}}。 詳見 了解如何在 BitBucket 創建一個使用者。
cafile
本地文件系統中認證證書的位置。在 PHP 5.6+ 中你應該在 php.ini 通過 openssl.cafile 來設置,盡管在 PHP 5.6+ 中這會被自動獲取。
capath
如果證書文件未指定或在那個位置沒找到證書,則系統會在 capath 所指定的文件中查找一個合適的證書。capath 必須是一個存在被正確哈希加密證書的目錄。
http-basic
一個域名和存儲驗證所需用戶名密碼的列表。例如使用 {"example.org": {"username": "alice", "password": "foo"}} 作為它的值,則會讓 Composer 用指定的用戶名密碼去驗證 example.org。
注意:與驗證相關的設置項比如 http-basic 和 github-oauth 也可以定義在 auth.json 文件中,脫離 composer.json。通過這樣你可以讓 Git 忽略它,并且每個開發者可以存儲他們自己的驗證憑據。
platform
讓你偽裝平臺擴展包(PHP 和 其擴展)以便于模擬生產環境以及在設置中定義你的目標平臺。例如:{"php": "7.0.3", "ext-something": "4.0.3"}。
vendor-dir
默認是 vendor。你也可以在一個不同的目錄安裝所需依賴。$HOME 和 ~ 在 vendor 和下面所有的 *-dir 目錄中會被替換成你的 HOME 目錄。
bin-dir
默認是 vendor/bin。如果一個項目包含可執行文件,那它們會在這個目錄中做符號鏈接。
data-dir
在 WIndows 中默認是 C:\Users\<user>\AppData\Roaming\Composer,在遵守 XDG 目錄定義的 unix 系統中是 $XDG_DATA_HOME/composer,在其他 unix 系統中則會是 $home。現在它只用來存儲舊版本的 composer.phar 文件來以防回滾。詳見 COMPOSER_HOME。
cache-dir
在 WIndows 中默認是 C:\Users\<user>\AppData\Local\Composer,在遵守 XDG 目錄定義的 unix 系統中是 $XDG_CACHE_HOME/composer,在其他 unix 系統中則會是 $home/cache。存儲 Composer 用到的所有緩存文件。詳見 COMPOSER_HOME。
cache-files-dir
默認是 $cache-dir/files。存儲所有擴展包的 ZIP 壓縮包。
cache-repo-dir
默認是 $cache-dir/repo。存儲 composer 類型倉庫的元數據和 svn, fossil, github, bitbucket 類型倉庫的 VCS 倉庫。
cache-vcs-dir
默認是 $cache-dir/vcs。存儲所有 git/hg 類型倉庫所克隆的文件以加快安裝速度。
cache-files-ttl
默認是 15552000 (6 個月)。Composer 會緩存它下載的所有擴展包構建的文件 (zip, tar, ..) 。默認 6 個月不使用就會被清空。此設置項允許你更改這個過期時間(秒為單位)或設為 0 來完全禁用。
cache-files-maxsize
默認是 300MiB。 Composer 會緩存它下載的所有擴展包構建的文件 (zip, tar, ..) 。這是它在定期執行垃圾回收時允許緩存文件占用的最大空間。更舊或是不經常使用的緩存會被清除。
bin-compat
默認是 auto。決定了可執行文件安裝時需要的兼容性。如果設為 auto,則在 Windows 中只會安裝 .bat 文件。如果設為 full 那么除了 .bat,unix 系統所需要的腳本文件也會被安裝。這主要是為了處理執行 Composer 和項目運行所在系統不一致的情況。
prepend-autoloader
默認是 true。如果設為 false,Composer 的自動加載器則不會預載入到已存在的自動加載器中。這有時可以用來修復一些因與其他加載器共用導致的一些問題。
autoloader-suffix
默認是 null。會用做 Composer 自動加載器后綴的字符串。如果為空,則會生成一組隨機字符串。
optimize-autoloader
默認是 false。如果設為 true,則總會在生成自動加載器時進行優化。
sort-packages
默認是 false。如果設為 true,執行 require 命令時會始終保持 composer.json 文件中的擴展包名按照字母順序排列。
classmap-authoritative
默認是 false。如果設為 true,Composer 自動加載器只會載入 classmap 中的類。此項會啟用 optimize-autoloader。
apcu-autoloader
默認是 false。如果設為 true,Composer 自動加載器會檢查 APCu,并且當擴展被啟用時,使用它來緩存找到和未找到的類。
github-domains
默認是 ["github.com"]。一個在 gitHub 模式中使用的域名列表。GitHub Enterprise 可能會用到此項。
github-expose-hostname
默認是 true。如果設為 false,為訪問 Github API 創建的 OAuth 令牌會有一個日期而不是主機名。
gitlab-domains
默認是 ["gitlab.com"]。一個 Gitlab 服務器的域名列表。如果你使用 gitlab 倉庫類型時可能會用到此項。
notify-on-install
默認是 true。Composer 允許倉庫定義一個通知 URL,以便于在基于此倉庫的擴展包被安裝時接收通知。此項允許你禁用此行為。
discard-changes
默認是 false 并且可以被設為 true,false 或 "stash"。此項允許你設置在升級過程中發生沖突時的默認行為。true 會放棄 vendors 中的更改,而 "stash" 嘗試著去暫存以便于恢復。如果你的 CI 服務器或部署腳本可能會更改 vendors,那么可以使用該設置。
archive-format
默認是 tar。Composer 允許你設置在工作流需要創建特定格式壓縮包時的默認壓縮格式。
archive-dir
默認是 .。Composer 允許你設置在工作流需要創建特定格式壓縮包時的默認壓縮文件存儲路徑。也為了模塊間的開發變得更加容易。
舉個例子:
{ "config": { "archive-dir": "/home/user/.composer/repo" } }
htaccess-protect
默認是 true。如果設為 false,Composer 不會在 COMPOSER_HOME、cache、和數據目錄創建 .htaccess 文件。
感謝你能夠認真閱讀完這篇文章,希望小編分享的“composer.json中如何配置信息”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。