Unlike the WordPress maintenance page, database error is usually unexpected. The db-error.php
page template will provide a user friendly message to your site visitors in the event of a database error. Furthermore, when the page is displayed, an email notification is sent with the URL of the page where the error occurred to the address of your choice.
<?php header( 'HTTP/1.1 503 Service Temporarily Unavailable' ); header( 'Status: 503 Service Temporarily Unavailable' ); header( 'Retry-After: 600' ); // 10 minutes $mailto = "[email protected]"; $mailfrom = "From: [email protected]"; $message = "There was an error while accessing the database. ". "It broke when someone tried to open this page: http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'].""; $subject = "Database error at ".$_SERVER['SERVER_NAME']; mail($mailto,$subject,$message,$mailfrom); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Database Connection Error | SumTips</title> <meta charset="utf-8" /> <style type='text/css'> body { background: #fff; font: 16px Georgia, serif; line-height: 1.3; margin: 0; padding: 0; } #content { background: #fff url(/wp-content/dberror.png) no-repeat left top; height: 225px; margin: 80px auto 0; padding: 75px 50px 0 300px; width: 375px; } h1 { font-size: 34px; font-weight: normal; margin-top: 0; } p { margin: 0 0 10px 5px; } </style> </head> <body> <div id="content"> <h1>Database missing!</h1> <p>Looks like the database got lost somewhere....</p> <p>Don't worry though! We'll recover it!<p> <p>In the mean time, you can read the last 10 posts <a href="http://feeds.feedburner.com/Sumtips">here on FeedBurner</a>.<p> </div><!-- #content --> </body> </html> <?php die(); ?>
How to Use?
Just create a new file named db-error.php
inside wp-content
directory and paste in the above code in it. Remember to replace email address with your own.
The db-error.php
file is kept as an independent file in the WordPress installation, so it’s not affected by core upgrades. [via Aliso]