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\be1cdaf6779910b92a0a47fc24e82b4f\AppData\Roaming\Composer,在遵守XDG 目錄定義的unix 系統中是$XDG_DATA_HOME/composer,在其他unix 系統會是$home。現在它只用來儲存舊版的 composer.phar 檔案來以防回滾。詳見 COMPOSER_HOME。
cache-dir
在WIndows 中預設為C:\Users\be1cdaf6779910b92a0a47fc24e82b4f\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中配置資訊的介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!