在线文档教程
Codeigniter 3

处理多个环境 | Handling Multiple Environments

处理多个环境

开发人员通常希望不同的系统行为,这取决于应用程序是在开发环境中运行还是在生产环境中运行。例如,详细的错误输出在开发应用程序时是有用的,但在“活动”时也可能会造成安全问题。

环境常数

默认情况下,CodeIgniter附带设置为使用$_SERVER['CI_ENV'],否则默认为“开发”。在index.php顶部,您将看到:

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development'

可以将此服务器变量设置为。htaccess文件,或apache配置,使用SetEnv可以为nginx和其他服务器提供替代方法,或者可以完全删除此逻辑,并根据服务器的IP地址设置常量。

除了影响一些基本的框架行为(参见下一节)之外,您可以在自己的开发中使用这个常量来区分您正在运行的环境。

对默认框架行为的影响

CodeIgniter系统中有些地方使用环境常量。本节描述如何影响默认框架行为。

错误报告

将环境常量设置为“Development”值将导致所有PHP错误在发生时呈现给浏览器。相反,将常量设置为“Production”将禁用所有错误输出。禁用生产中的错误报告是良好安全做法...

配置文件

或者,您可以让CodeIgniter加载特定于环境的配置文件。这对管理多个环境中不同的API密钥等内容可能很有用。这在配置类文档的环境部分有更详细的描述。