PHP error handling
PHP has a number of functions for handling as well as reporting errors. Besides, you can define your own way of handling and reporting errors. In this and subsequent pages we are going to discuss installation, runtime configuration, predefined constants and functions relating to PHP error handling and reporting.
Installation and configuration
In PHP 5, you don't need any external library, and you don't need any installation in addition to error handling and reporting.
Configuration settings for PHP Error handling and reporting are available in php.ini
file, which is located in the php installation folder of your system.
Following is a list of error handling settings, there descriptions, default value and where they can be changed (Changeable).
For reference, settings of any PHP configuration can be changed in various ways - using ini_set(), in WINDOWS registry, in php.ini, in .htaccess or in httpd.conf. PHP_INI_ALL refers that the related configuration can be changed in any the aforementioned ways. PHP_INI_SYSTEM refers the entry can be set in php.ini or httpd.conf.
|error_reporting||integer||Set the error reporting level.||NULL||PHP_INI_ALL|
|display_errors||string||Determines if errors are displayed or hidden.||"1"||PHP_INI_ALL|
|display_startup_errors||boolean||Even if display_errors is on, hides errors that occur during PHP's startup sequence. Keep it off when online.||"0"||PHP_INI_ALL|
|log_errors||boolean||Specifies if script error messages should be logged to the server's error log.||"0"||PHP_INI_ALL|
|log_errors_max_len||integer||Specifies the maximum length of log_errors in bytes.||"1024"||PHP_INI_ALL|
|ignore_repeated_errors||boolean||Do not log repeated messages.||"0"||PHP_INI_ALL|
|ignore_repeated_source||boolean||Ignore source of message when ignoring repeated messages.||"0"||PHP_INI_ALL|
|report_memleaks||boolean||If set to Off, memory leaks (the program is unable to release memory it has occupied) will not be displayed.||"1"||PHP_INI_ALL|
|track_errors||boolean||If enabled, variable $php_errormsg will always hold the last error message.||"0"||PHP_INI_ALL|
|html_errors||boolean||Turns HTML tags off in error messages.||"1"||PHP_INI_ALL|
|xmlrpc_errors||boolean||Formats errors as XML-RPC error message, turning normal error reporting off.||"0"||PHP_INI_SYSTEM|
|xmlrpc_error_number||integer||Used as the value of the XML-RPC fault Code element.||"0"||PHP_INI_ALL|
|docref_root||string||Format of a new error which contains a reference to a page describing the error or function causing the error.||""||PHP_INI_ALL|
|docref_ext||string||Specifies the file extension of the reference page (as mentioned in docref_root).||""||PHP_INI_ALL|
|error_prepend_string||string||String to output before an error message.||NULL||PHP_INI_ALL|
|error_append_string||string||String to output after an error message.||NULL||PHP_INI_ALL|
|error_log||string||Name of the file where script errors should be logged.||NULL||PHP_INI_ALL|
PHP error handling - predefined constants
DescriptionList of predefined constants used in PHP 5 for error handling.
Here is a list of the predefined constants used in PHP 5 for error handling :
|E_ERROR||integer||Execution of the script comes to a halt. An example is memory allocation problem.||1|
|E_WARNING||integer||Execution of the script is not halted, warnings generated.||2|
|E_PARSE||integer||Parse errors generated by parsers during compilation.||4|
|E_NOTICE||integer||Run-time notices which indicated that may be an error took place but may also be a normal course of action.||8|
|E_CORE_ERROR||integer||Fatal errors that occur during the initial startup of PHP.||16|
|E_CORE_WARNING||integer||Warnings (execution of the script is not halted) that occur during PHP's initial startup.||32|
|E_COMPILE_ERROR||integer||Fatal compile-time errors.||64|
|E_COMPILE_WARNING||integer||Compile-time warnings, execution of the script is not halted.||128|
|E_USER_ERROR||integer||User-generated error message.||256|
|E_USER_WARNING||integer||User-generated warning message.||512|
|E_USER_NOTICE||integer||Same as E_NOTICE. The only difference is, trigger_error() function is used here to generate the error message.||1024|
|E_STRICT||integer||User-generated notice message.||2048|
|E_RECOVERABLE_ERROR||integer||Catchable fatal error.||4096|
|E_USER_DEPRECATED||integer||User-generated warning message.||16384|
|E_ALL||integer||All errors and warnings, as supported. Exception level E_STRICT.||30719|
All these constants are available in php.ini of your PHP installation folder.
PHP: Tips of the Day
PHP - how to create a newline character?
Only double quoted strings interpret the escape sequences \r and \n as '0x0D' and '0x0A' respectively, so you want:
Single quoted strings, on the other hand, only know the escape sequences \\ and \'.
So unless you concatenate the single quoted string with a line break generated elsewhere (e. g., using double quoted string "\r\n" or using chr function chr(0x0D).chr(0x0A)), the only other way to have a line break within a single quoted string is to literally type it with your editor:
$s = 'some text before the line break some text after';
Make sure to check your editor for its line break settings if you require some specific character sequence (\r\n for example).
Ref : https://bit.ly/3hcyege
- New Content published on w3resource:
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework