处理多个环境 | 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密钥等内容可能很有用。这在配置类文档的环境部分有更详细的描述。