1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6 <title>Handling Multiple Environments : CodeIgniter User Guide</title>
8 <style type='text/css' media='all'>@import url('../userguide.css');</style>
9 <link rel='stylesheet' type='text/css' media='all' href='../userguide.css' />
11 <script type="text/javascript" src="../nav/nav.js"></script>
12 <script type="text/javascript" src="../nav/prototype.lite.js"></script>
13 <script type="text/javascript" src="../nav/moo.fx.js"></script>
14 <script type="text/javascript" src="../nav/user_guide_menu.js"></script>
16 <meta http-equiv='expires' content='-1' />
17 <meta http-equiv= 'pragma' content='no-cache' />
18 <meta name='robots' content='all' />
19 <meta name='author' content='ExpressionEngine Dev Team' />
20 <meta name='description' content='CodeIgniter User Guide' />
25 <!-- START NAVIGATION -->
26 <div id="nav"><div id="nav_inner"><script type="text/javascript">create_menu('../');</script></div></div>
27 <div id="nav2"><a name="top"></a><a href="javascript:void(0);" onclick="myHeight.toggle();"><img src="../images/nav_toggle_darker.jpg" width="154" height="43" border="0" title="Toggle Table of Contents" alt="Toggle Table of Contents" /></a></div>
29 <table cellpadding="0" cellspacing="0" border="0" style="width:100%">
31 <td><h1>CodeIgniter User Guide Version 2.0.2</h1></td>
32 <td id="breadcrumb_right"><a href="../toc.html">Table of Contents Page</a></td>
36 <!-- END NAVIGATION -->
39 <!-- START BREADCRUMB -->
40 <table cellpadding="0" cellspacing="0" border="0" style="width:100%">
43 <a href="http://codeigniter.com/">CodeIgniter Home</a> ›
44 <a href="../index.html">User Guide Home</a> ›
45 Handling Multiple Environments
47 <td id="searchbox"><form method="get" action="http://www.google.com/search"><input type="hidden" name="as_sitesearch" id="as_sitesearch" value="codeigniter.com/user_guide/" />Search User Guide <input type="text" class="input" style="width:200px;" name="q" id="q" size="31" maxlength="255" value="" /> <input type="submit" class="submit" name="sa" value="Go" /></form></td>
50 <!-- END BREADCRUMB -->
55 <!-- START CONTENT -->
58 <h1>Handling Multiple Environments</h1>
61 Developers often desire different system behavior depending on whether
62 an application is running in a development or production
63 environment. For example, verbose error output is something that would
64 be useful while developing an application, but it may also pose a security issue when "live".
67 <h2>The ENVIRONMENT Constant</h2>
70 By default, CodeIgniter comes with the environment constant set to
71 '<kbd>development</kbd>'. At the top of index.php, you will see:
75 define('<var>ENVIRONMENT</var>', '<var>development</var>');
79 In addition to affecting some basic framework behavior (see the next section),
80 you may use this constant in your own development to differentiate
81 between which environment you are running in.
84 <h2>Effects On Default Framework Behavior</h2>
87 There are some places in the CodeIgniter system where the <kbd>ENVIRONMENT</kbd>
88 constant is used. This section describes how default framework behavior is
92 <h3>Error Reporting</h3>
95 Setting the <kbd>ENVIRONMENT</kbd> constant to a value of '<kbd>development</kbd>' will
96 cause all PHP errors to be rendered to the browser when they occur. Conversely,
97 setting the constant to '<kbd>production</kbd>' will disable all error output. Disabling
98 error reporting in production is a <a href="security.html">good security practice</a>.
101 <h3>Configuration Files</h3>
104 Optionally, you can have CodeIgniter load environment-specific
105 configuration files. This may be useful for managing things like differing API keys
106 across multiple environments. This is described in more detail in the
107 environment section of the <a href="../libraries/config.html#environments">Config Class</a> documentation.
116 Previous Topic: <a href="managing_apps.html">Managing Applications</a>
117 ·
118 <a href="#top">Top of Page</a> ·
119 <a href="../index.html">User Guide Home</a> ·
120 Next Topic: <a href="alternative_php.html">Alternative PHP Syntax</a>
122 <p><a href="http://codeigniter.com">CodeIgniter</a> · Copyright © 2006 - 2011 · <a href="http://ellislab.com/">EllisLab, Inc.</a></p>