系統會因為安全性考量遇到錯誤時不顯示錯誤訊息
透過此 function 可以把系統錯誤訊息回傳給開發者
程式碼:
function die_send_email($body) {
$mailto = 'nobody@example.com'; //收信人
$subject = '錯誤回報'; //信件標題
$headers = 'From: webmaster@example.com' . "\r\n" .
'Reply-To: webmaster@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
$message = '錯誤訊息:'."\r\n".$body; //訊息內容
mail($mailto, $subject, $message, $headers); //發送Mail
die('<h1>很抱歉,發生錯誤囉!</h1><p>我們已把你遇到的問題回報,請稍後再試</p>');
}
?>
範例:
$servername = "localhost";
$username = "username";
$password = "password";
// 建立連線
$conn = mysqli_connect($servername, $username, $password);
// 檢查連線若錯誤回傳訊息
if (!$conn) {
die_send_email(mysqli_connect_error()); // 將die更換成上述function
}
php.ini 記得要設定 SMTP
[mail function] ; For Win32 only. ; http://php.net/smtp SMTP = localhost ; http://php.net/smtp-port smtp_port = 25
另外也可以透過 PHPMailer + Gmail 的方式發送 Mail : http://www.gocar.idv.tw/archives/72