sioweb / apply_environment
设置环境数据
Requires
- php: ^7.1||^8.0
- contao/core-bundle: ~4.4||~5.0
- sioweb/ccevent: *
This package is auto-updated.
Last update: 2024-09-04 14:06:16 UTC
README
每个环境(生产、开发、本地等)可能需要不同的设置。最常见的是域名和HTTPS设置在起点受到的影响。
示例
- 生产: HTTPS 是 / www.domain.tld
- 开发: HTTPS 否 / dev.domain.tld
- 本地主机: HTTPS 否 / domain.localhost
设置
在目录 /app/config/
中必须创建一个名为 environments.yml
的文件。对于生产、开发和本地主机,文件结构如下
apply_environments:
environments:
productive:
prod: true
short: intern
title: Produktiv
development:
short: dev
title: Development
localhost:
title: Localhost
选项
通过控制台设置环境
对于自动构建,可能需要通过控制台安装环境。在 Contao 根目录中,可以在控制台输入以下内容
vendor/bin/contao-console --env=YOUR_ENVIRONMENT sioweb:environment
在某些系统上,PHP 没有作为别名设置,那么必须在命令之前写入此内容
/path/to/php vendor/bin/contao-console --env=YOUR_ENVIRONMENT sioweb:environment
Composer 安装/更新
当前环境也可以通过 composer update
和 composer install
直接安装
{
"scripts": {
"post-install-cmd": [
"Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication",
"Sioweb\\ApplyEnvironment\\Composer\\ApplyEnvironment::setup"
],
"post-update-cmd": [
"Contao\\ManagerBundle\\Composer\\ScriptHandler::initializeApplication",
"Sioweb\\ApplyEnvironment\\Composer\\ApplyEnvironment::setup"
]
},
}
.env
为了正确安装环境,必须将环境信息放在 Contao 根目录下的 .env
文件中
APPLY_ENVIRONMENT='localhost'
请用您希望的环境代替 localhost,这是很重要的,以确保使用正确的数据库。
MYSQL_USER 未找到
如果数据库如下定义在文件 /app/config/parameters_XXX.yml
中,可能会发生控制台无法访问 ENV 数据的情况
# This file has been auto-generated during installation
parameters:
database_user: "%env(MYSQL_USER)%"
database_password: "%env(MYSQL_PASSWORD)%"
database_name: "%env(MYSQL_DATABASE)%"
在这种情况下,必须首先向控制台传递数据
export MYSQL_DATABASE="your_database"
export MYSQL_USER="your_username"
export MYSQL_PASSWORD="your_password"
如何保存设置?
在 Contao 后端的所有地方,都会在所有小部件周围扩展一个小型不可见圆圈。当鼠标移至输入字段上时,圆圈将变为可见。通过点击,将打开一个菜单,其中包含可能的 环境/环境。通过点击一个环境,将把条目存储在输入字段中。
注意:不需要提交表单即可保存条目。
安装环境
现在在系统维护中有一个新的输入字段。如果正确地在 environments.yml
中记录了 short
设置,则当前环境设置将在此处自动选择。建议在 .htaccess
中将 dev/localhost 域名相应地自动重定向到 app_dev.php
或 app_localhost.php
。
通过提交环境,现在将自动安装所选环境的所有保存数据。
数据存储在哪里?
数据存储在 /app/environments/
中。