From e8f5890e4b7eb52ed4d905a225c3bf985f397439 Mon Sep 17 00:00:00 2001 From: katzgrau Date: Thu, 10 Mar 2011 10:24:29 -0500 Subject: Added full docs for new ENVIRONMENT constant. --- user_guide/general/environments.html | 126 +++++++++++++++++++++++++++++++++++ user_guide/general/security.html | 17 +++++ 2 files changed, 143 insertions(+) create mode 100644 user_guide/general/environments.html (limited to 'user_guide/general') diff --git a/user_guide/general/environments.html b/user_guide/general/environments.html new file mode 100644 index 000000000..690c14c2c --- /dev/null +++ b/user_guide/general/environments.html @@ -0,0 +1,126 @@ + + + + + +Creating Libraries : CodeIgniter User Guide + + + + + + + + + + + + + + + + + + + + + +
+ + + + + +

CodeIgniter User Guide Version 2.0.0

+
+ + + + + + + + + +
+ + +
+ + + +
+ +

Handling Multiple Environments

+ +

+ Developers often desire different system behavior depending on whether + an application is running in a development or production + environment. For example, verbose error output is something that would + be useful while developing an application, but it may also pose a security issue when "live". +

+ +

The ENVIRONMENT Constant

+ +

+ By default, CodeIgniter comes with the environment constant set to + 'development'. At the top of index.php, you will see: +

+ + +define('ENVIRONMENT', 'development'); + + +

+ In addition to affecting some basic framework behavior (see the next section), + you may use this constant in your own development to differentiate + between which environment you are running in. +

+ +

Effects On Default Framework Behavior

+ +

+ There are some places in the CodeIgniter system where the ENVIRONMENT + constant is used. This section describes how default framework behavior is + affected. +

+ +

Error Reporting

+ +

+ Setting the ENVIRONMENT constant to a value of 'development' will + cause all PHP errors to be rendered to the browser when they occur. Conversely, + setting the constant to 'production' will disable all error output. Disabling + error reporting in production is a good security practice. +

+ +

Configuration Files

+ +

+ Optionally, you can have CodeIgniter load environment-specific + configuration files. This may be useful for managing things like differing API keys + across multiple environments. This is described in more detail in the + environment section of the Config Class documentation. +

+ +
+ + + + + + + \ No newline at end of file diff --git a/user_guide/general/security.html b/user_guide/general/security.html index 8a41dff9d..5ecfcf18a 100644 --- a/user_guide/general/security.html +++ b/user_guide/general/security.html @@ -87,6 +87,23 @@ array is unset by the Input class during system initialization.

During system initialization all global variables are unset, except those found in the $_POST and $_COOKIE arrays. The unsetting routine is effectively the same as register_globals = off.

+ +

error_reporting

+ +

+ In production environments, it is typically desirable to disable PHP's + error reporting by setting the internal error_reporting flag to a value of 0. This disables native PHP + errors from being rendered as output, which may potentially contain + sensitive information. +

+ +

+ Setting CodeIgniter's ENVIRONMENT constant in index.php to a + value of 'production' will turn off these errors. In development + mode, it is recommended that a value of 'development' is used. + More information about differentiating between environments can be found + on the Handling Environments page. +

magic_quotes_runtime

-- cgit v1.2.3-24-g4f1b