我對PHP相當陌生並且設置了自定義錯誤處理程序,但我有一些代碼在CI之外正常工作,但我無法解決如何集成這成一個CI控制器。我得到一個錯誤「消息:未定義的屬性:錯誤:: $ my_error_handler」如何在Codeigniter中設置自定義錯誤處理程序以發送電子郵件錯誤
我的控制器是:
<?php
class Errors extends CI_Controller {
public function __construct()
{
parent::__construct();
}
function my_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, '[email protected]', $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.");
}
}
function test()
{
// We should use our custom function to handle errors.
set_error_handler($this->my_error_handler);
// Trigger an error... (var doesn't exist)
echo $somevarthatdoesnotexist;
}
}
?>
如果有更好的方式使用CI請讓我知道電子郵件的錯誤消息。
做到這一點:http://stackoverflow.com/questions/6403571/codeigniter-email-error-handling –