diff --git a/config_defaults_inc.php b/config_defaults_inc.php index 43de015f1f..7bc0334d53 100644 --- a/config_defaults_inc.php +++ b/config_defaults_inc.php @@ -4072,34 +4072,33 @@ /** * Errors Display method - * Defines what errors are displayed and how. Available options are: - * - DISPLAY_ERROR_HALT stop and display error message (including + * Defines what {@link http://php.net/errorfunc.constants errors} + * are displayed and how. Available options are: + * - DISPLAY_ERROR_HALT Stop and display error message (including * variables and backtrace if - * {@link $g_show_detailed_errors} is ON) - * - DISPLAY_ERROR_INLINE display 1 line error and continue execution - * - DISPLAY_ERROR_NONE no error displayed + * {@link $g_show_detailed_errors} is ON). + * - DISPLAY_ERROR_INLINE Display a one line error and continue execution. + * - DISPLAY_ERROR_NONE Suppress the error (no display). This is the default + * behavior for unspecified errors constants. + * + * The default settings are recommended for use in Production, and will only + * display MantisBT fatal errors, suppressing output of all other error types. + * + * Recommended config_inc.php settings for developers: + * $g_display_errors = array( + * E_USER_ERROR => DISPLAY_ERROR_HALT, + * E_WARNING => DISPLAY_ERROR_HALT, + * E_ALL => DISPLAY_ERROR_INLINE, + * ); * * WARNING: E_USER_ERROR should always be set to DISPLAY_ERROR_HALT. Using * another value will cause program execution to continue, which may lead to * data integrity issues and/or cause MantisBT to function incorrectly. * - * A developer might set this in config/config_inc.php as: - * $g_display_errors = array( - * E_WARNING => DISPLAY_ERROR_HALT, - * E_NOTICE => DISPLAY_ERROR_INLINE, - * E_USER_ERROR => DISPLAY_ERROR_HALT, - * E_USER_WARNING => DISPLAY_ERROR_INLINE, - * E_USER_NOTICE => DISPLAY_ERROR_INLINE - * ); - * * @global array $g_display_errors */ $g_display_errors = array( - E_WARNING => DISPLAY_ERROR_INLINE, - E_NOTICE => DISPLAY_ERROR_NONE, E_USER_ERROR => DISPLAY_ERROR_HALT, - E_USER_WARNING => DISPLAY_ERROR_INLINE, - E_USER_NOTICE => DISPLAY_ERROR_NONE ); /** diff --git a/docbook/Admin_Guide/en-US/Configuration.xml b/docbook/Admin_Guide/en-US/Configuration.xml index 07e4b2e91c..b7cb85fb27 100644 --- a/docbook/Admin_Guide/en-US/Configuration.xml +++ b/docbook/Admin_Guide/en-US/Configuration.xml @@ -3471,7 +3471,9 @@ $g_main_menu_custom_options = array( $g_display_errors Errors Display Method. - Defines what errors are displayed and how. + Defines what + errors + are displayed and how. Available options are: @@ -3479,53 +3481,63 @@ $g_main_menu_custom_options = array( DISPLAY_ERROR_HALT - stop and display error message + Stop and display the error message (including variables and backtrace if $g_show_detailed_errors - is ON) + is ON). DISPLAY_ERROR_INLINE - display 1 line error and continue - execution + Display a one line error and continue + execution. DISPLAY_ERROR_NONE - no error displayed + Suppress the error (no display). + This is the default behavior for unspecified + + errors constants. + - Default is + The default settings, recommended for use in Production, + will only display MantisBT fatal errors and suppress + output of all other error types: $g_display_errors = array( - E_WARNING => DISPLAY_ERROR_INLINE, - E_NOTICE => DISPLAY_ERROR_NONE, E_USER_ERROR => DISPLAY_ERROR_HALT, - E_USER_WARNING => DISPLAY_ERROR_INLINE, - E_USER_NOTICE => DISPLAY_ERROR_NONE ); - A developer might set this in their - config_inc.php as: + + Recommended config_inc.php + settings for developers: $g_display_errors = array( + E_USER_ERROR => DISPLAY_ERROR_HALT, E_WARNING => DISPLAY_ERROR_HALT, - E_NOTICE => DISPLAY_ERROR_INLINE, + E_ALL => DISPLAY_ERROR_INLINE, +); + + + Less intrusive settings, recommended for testing purposes: + +$g_display_errors = array( E_USER_ERROR => DISPLAY_ERROR_HALT, E_USER_WARNING => DISPLAY_ERROR_INLINE, - E_USER_NOTICE => DISPLAY_ERROR_INLINE + E_WARNING => DISPLAY_ERROR_INLINE, ); - E_USER_ERROR - should always be set to + E_USER_ERROR + should always be set to DISPLAY_ERROR_HALT. Using any other value will cause program execution to continue despite the error, which may lead to data