wecodemore / wp-composer-config
自动生成 wp-config 作为 Composer 脚本
Requires
- php: >=5.3.2
- guzzlehttp/guzzle: ~5.0
Suggests
- cup-of-coffee: Drinking a cup of coffee will make you a lot happier :)
This package is not auto-updated.
Last update: 2024-09-10 04:21:27 UTC
README
使用 Composer 安装后脚本。自动生成 WordPress 安装的 wp-config.php 文件。这个包主要是一个方便的包,应该会使得构建过程更加简单。
这是什么?
这个包是一个 WordPress 的 wp-config.php 生成器,它作为 Composer 脚本 运行。它基于 Vance Lucas PHPDotEnv 包,该包提供了一个解决方案,用于添加未版本控制/被忽略的 .env 文件。键/值数据随后作为 getenv(),$_ENV 和 $_SERVER 变量提供。这个配置生成器获取维护的 WordPress 可配置常量列表(如数据库凭证),并在 WordPress 根目录中构建 wp-config.php 文件。这不会增加安全性,但有助于防止将敏感信息推送到受版本控制的存储库。它还使得维护不同的环境(如开发、测试和生产)变得更加容易。
示例
如何:设置
我们建议使用类似 Andreys/"@Rarst" 的配方来获取一个网站栈,为你的项目提供一个深思熟虑的基础结构。只需将这个包添加到你的栈中。
"config" : {
"vendor-dir": "wp-content/vendor"
},
// ...
"require" : {
// ... other software installed to /var/www/wp-content/vendor
"wecodemore/wp-composer-config" : "1.x-dev"
},
然后设置脚本
"scripts" : {
"post-package-install" : [
"WCM\\WPComposerConfig\\WPConfigCommand::postPackageInstall"
]
},
最后,脚本需要为 extra 对象设置一些变量
"extra" : {
"wordpress-install-dir" : "path/to/wordpress",
"wordpress-env-dir" : "path/to/the/.env/file
}
就这样。
如果你想按需运行它,你可能想给它一个自定义的名称,你可以在命令行中引用它。避免使用 config,因为这是一个内部 Composer 命令
"scripts" : {
"wp-config" : [
"WCM\\WPComposerConfig\\WPConfigCommand::postPackageInstall"
]
},
这样你就可以简单地输入
composer wp-config
在 CLI 中,并随时运行它。
如何:使用它
检查清单
- 确保将 .env 添加到 .gitignore 文件中
- 查看此包中的 /ci 文件夹,并将 .env.example 内容复制到你的项目的 .env 文件中。这是一个所有主要版本的蓝图
- 调整那里的设置
- 将上述设置步骤添加到你的 composer.json 文件中
- 打开你的 CLI 并输入
composer install
- 认证密钥和盐值直接从 wordpress.org 服务器获取
选项
以下选项是从 PHPDotEnv 镜像过来的
注释:用 #
前缀一行。
空字符串:在键后面设置一个 =
而没有值
以下选项是新的,并且仅适用于自动生成 wp-config.php 文件。这应该会使得在不重复添加和删除相同的常量的情况下测试不同的设置变得更加容易。
使用 WP 默认:对该键既不设置 =
,也不设置值。或者根本不设置它。
内部
该包不会覆盖已存在的认证密钥和盐值。如果你需要它们被重新生成,请手动从配置中删除它们。它们将使用来自 wp.org 的新哈希集再次添加。
常见问题解答
问:我需要多站点
A: 从(默认)的单站点安装切换到多站点安装是一个多步骤的过程,涉及用户交互、逐步更改.htaccess
文件和添加常量。我们不希望弄乱您的代码库,所以目前我们不这样做。但如果您认为您能实现它,只需复制代码库并发送拉取请求。
Q:我应该从GitHub还是从Packagist安装它?
A:该软件包位于Packagist,并且可以立即从GitHub自动更新(使用WebHooks)。
Q:您会实现X吗?
A:只需在新的问题中询问。我们与每个人都讨论一切。如果您有拉取请求,那就更好了。
Q:在我的composer.json
中我应该引用哪个版本?
A:我们使用语义版本控制,因此您希望保持与主版本的最新一致性。