Last active
December 30, 2015 00:19
-
-
Save gr8pathik/7749002 to your computer and use it in GitHub Desktop.
Email PHP errors instead of displaying it
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// Our custom error handler | |
function pg_error_handler($number, $message, $file, $line, $vars){ | |
$email = " | |
<p>An error ($number) occurred on line | |
<strong>$line</strong> and in the <strong>file: $file.</strong> | |
<p> $message </p>"; | |
$email .= "<pre>" . print_r($vars, 1) . "</pre>"; | |
$headers = 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; | |
// Email the error to someone... | |
error_log($email, 1, 'you@youremail.com', $headers); | |
// Make sure that you decide how to respond to errors (on the user's side) | |
// Either echo an error message, or kill the entire project. Up to you... | |
// The code below ensures that we only "die" if the error was more than | |
// just a NOTICE. | |
if ( ($number !== E_NOTICE) && ($number < 2048) ) { | |
die("There was an error. Please try again later."); | |
} | |
} | |
// We should use our custom function to handle errors. | |
set_error_handler('pg_error_handler'); | |
// Trigger an error... (var doesn't exist) | |
echo $somevarthatdoesnotexist; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment