Output
Current Error Reporting Level: 22519
Development Error Display
2024/04/25 09:18:39 - An error occurred in script '/home3/ashliet/public_html/percolate/exercises/8/8.3.php' on line 33: Division by zero
Production Error Display
A system error occurred. Check the log file for more details.
Error Log File
Source<?php # Script 8.3
define('LIVE',TRUE);
define('DEV',TRUE);
// Create the error handler:
function my_error_handler ($e_number, $e_message, $e_file, $e_line, $e_vars) {
// Build the error message:
$message = date('Y/m/d H:i:s')." - An error occurred in script '$e_file' on line $e_line: $e_message\n";
// Append $e_vars to $message:
// $vars = print_r ($e_vars, 1);
// Append backtrace to message:
// ob_start();
// debug_print_backtrace();
// $trace = ob_get_contents();
// ob_end_clean();
if (DEV) { // Development (print the error).
// echo "<div class='error-message'><h3>Development Error Display</h3>$message<pre>$vars\n$trace</pre></div>";
echo "<div class='error-message'><h3>Development Error Display</h3><p class='error'>$message</p></div>";
}
if (LIVE) { // Production show a brief message and log to 'error.log'
error_log ($message,3, CHAPTER_PATH.'/'.$_GET['chapter'].'/error.log');
echo '<div class="error-message"><h3>Production Error Display</h3><p class="error">A system error occurred. Check the log file for more details.</p>';
// Display Error log in iframe:
echo '<h4>Error Log File</h4><iframe src="'.CHAPTER_PATH.'/'.$_GET['chapter'].'/error.log"></iframe></div>';
}
}
// Use my error handler:
set_error_handler ('my_error_handler');
echo '<p class="message">Current Error Reporting Level: '.error_reporting().'</p>';
// Create an error:
$result = 1/0; //division by zero
?>