b13/environment

为TYPO3配置多个环境

安装数: 11,786

依赖项: 0

建议者: 0

安全: 0

星标: 12

关注者: 17

分支: 3

开放问题: 2

类型:typo3-cms-extension

1.0.8 2015-12-04 12:48 UTC

This package is auto-updated.

Last update: 2024-08-25 16:01:05 UTC


README

由 Benjamin Mack,b:dreizehn GmbH 创建于 2013 年。在 MIT 许可下发布。

它做什么?

TYPO3 扩展 "Environment",兼容从 TYPO3 CMS 4.5 到 TYPO3 CMS 7.99.99,允许进行上下文特定的设置,这意味着 TYPO3 安装对每个上下文都有不同的选项。这意味着可以为开发环境开启所有日志和调试设置。

当然,如果您有多个服务器场景和本地开发环境,这个扩展最有意义。

安装

  1. 安装扩展。

  2. 在 .htaccess 文件中 RewriteBase 语句之后或添加以下重写语句到您的 Apache 服务器配置中。

    确保每个 HTTP 请求都设置了上下文变量

    RewriteCond %{HTTP_HOST} ^(.*)staging-system.org$ RewriteRule .? - [E=TYPO3_CONTEXT:Production/Staging]

    RewriteCond %{HTTP_HOST} ^(.*)development-system.org$ RewriteRule .? - [E=TYPO3_CONTEXT:Development]

  3. 将以下代码添加到 typo3conf/AdditionalConfiguration.php 中,对于 TYPO3 CMS >= 6.0

    // 加载此安装的环境/上下文配置,如果 (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('environment')) { include('ext/environment/Includes/Bootstrap/InitializeContext.php'); }

3a) 对于 6.0 之前的安装,请将以下内容添加到 localconf.php 的底部

// load the environment / context configuration for this installation
if (t3lib_extMgm::isLoaded('environment')) {
	include('ext/environment/Includes/Bootstrap/InitializeContext.php');
}

3b) 对于使用 TYPO3 CMS 6.2+ 的安装,只需将其添加到 typo3conf/AdditionalConfiguration.php 中

// load the environment / context configuration for this installation
include('ext/environment/Includes/Bootstrap/InitializeContext.php');

之后,您将有一个名为 "TYPO3_CONTEXT" 的 PHP 常量,该常量设置为在服务器设置中放置的环境变量。

  1. 现在您可以定义上下文特定的配置,并创建如下文件
  • typo3conf/AdditionalConfiguration.Development.php
  • typo3conf/AdditionalConfiguration.Production.php

并添加不同的 DB 设置和调试设置等配置选项,这些选项将根据您在服务器设置中设置的上下文进行包含。示例请参阅 Resources/Public/Examples

请确保 PHP 文件始终以以下行开头

<?php

if (!defined('TYPO3_MODE')) {
	die('Access denied.');
}

最佳实践

开发环境 "Development"

  • 邮件应仅发送到本地
  • 所有调试模式均设置为完整日志记录
  • 默认禁用缓存

集成环境 "Testing/Integration"

  • 单元测试等的测试环境

"Production/Staging" 环境

  • 用于(客户)验收测试的 "Live" 服务器的克隆

"Production" 环境

  • "Live" 服务器

顶级上下文必须是 "Testing"、"Development" 或 "Production" 之一。当然,可以选择任何其他子上下文名称。

设置调度任务的环境

通常,TYPO3 调度程序是这样调用的

/usr/bin/php5 /path/to/my/typo3/installation/typo3/cli_dispatch.phpsh scheduler

这应该始终修改为设置环境变量

/usr/bin/php5 /path/to/my/typo3/installation/typo3/cli_dispatch.phpsh scheduler --context=Production

环境相关 TypoScript

您可以使用以下 TypoScript 条件检查环境。

# disable tracking for Production/Staging environment
[globalString = ENV:TYPO3_CONTEXT = Production/Staging]
	page.20 >
[GLOBAL]

在 TYPO3 CMS 6.2 中,您可以使用新定义的 "applicationContext" TypoScript 条件。

环境相关电子邮件重定向

您可以通过设置以下 TYPO3_CONF_VARS 选项将任何发出的电子邮件重定向到特定的电子邮件地址

$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['environment']['redirectEmails'] = 'benni@typo3.org';

您可以通过逗号分隔添加多个地址,或者在一个简单的数组中。

如果您将其放置在环境相关的安装中,如 typo3conf/AdditionalConfiguration.Development.php,并在生产环境设置中移除,这通常是最有意义的。

谢谢

特别感谢

  • b13专家们的智慧和创新,找到了最佳的开箱即用解决方案,
  • 耶稣基督,他拯救了我的生命。