0

0

关于composer.json中配置信息的介绍

藏色散人

藏色散人

发布时间:2019-10-12 14:11:35

|

4940人浏览过

|

来源于learnku

转载

关于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\\AppData\Roaming\Composer,在遵守 XDG 目录定义的 unix 系统中是 $XDG_DATA_HOME/composer,在其他 unix 系统中则会是 $home。现在它只用来存储旧版本的 composer.phar 文件来以防回滚。详见 COMPOSER_HOME。

cache-dir

PHP房产程序[BBWPS]
PHP房产程序[BBWPS]

[PHP房产程序|BBWPS]功能介绍 1、5种信息类别发布:出租、求租、出售、求购、楼盘信息,支持会员发布信息审核; 2、灵活的信息参数设置; 3、充足的信息字段; 4、简单易用的发布/编辑功能,支持配图上传; 5、灵活的信息管理功能; 6、信息输出伪静态,方便搜索引擎抓取数据; 7、支持RSS输出; 8、内置数据高速缓冲技术,可灵活设置缓冲功能是否启动及过期时间; 9、支持 Google 地图

下载

在 WIndows 中默认是 C:\Users\\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 文件。

相关专题

更多
Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

37

2026.01.14

php与html混编教程大全
php与html混编教程大全

本专题整合了php和html混编相关教程,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 高性能
PHP 高性能

本专题整合了PHP高性能相关教程大全,阅读专题下面的文章了解更多详细内容。

37

2026.01.13

MySQL数据库报错常见问题及解决方法大全
MySQL数据库报错常见问题及解决方法大全

本专题整合了MySQL数据库报错常见问题及解决方法,阅读专题下面的文章了解更多详细内容。

19

2026.01.13

PHP 文件上传
PHP 文件上传

本专题整合了PHP实现文件上传相关教程,阅读专题下面的文章了解更多详细内容。

16

2026.01.13

PHP缓存策略教程大全
PHP缓存策略教程大全

本专题整合了PHP缓存相关教程,阅读专题下面的文章了解更多详细内容。

6

2026.01.13

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

3

2026.01.13

交互式图表和动态图表教程汇总
交互式图表和动态图表教程汇总

本专题整合了交互式图表和动态图表的相关内容,阅读专题下面的文章了解更多详细内容。

45

2026.01.13

nginx配置文件详细教程
nginx配置文件详细教程

本专题整合了nginx配置文件相关教程详细汇总,阅读专题下面的文章了解更多详细内容。

9

2026.01.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
第二十四期_PHP8编程
第二十四期_PHP8编程

共86课时 | 3.4万人学习

成为PHP架构师-自制PHP框架
成为PHP架构师-自制PHP框架

共28课时 | 2.4万人学习

第二十三期_PHP编程
第二十三期_PHP编程

共93课时 | 6.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号