Veritabanı Hatası Şablonu Oluşturmak…

Bazen WordPress MySQL ile bağlanamıyor. Ya da sunucu taraflı bir sorundan dolayı veritabanı hatası sayfası alıyoruz. WordPress altyapısında bunun için bir çıktı oluşturuluyor ve genelde bu -biz değiştirmezsek- “Error Establishing a Database Connection” yazılı bir HTML çıktısı oluyor. Birazdan bunu daha düzgün bir şekle almak için güzel bir dosyamız olacak.

Bu geçicidir demek önemli

Google ve diğer arama motorlarına bunun geçici bir durum olduğunu aktarmalıyız.

Aşağıdaki şablonu kullanarak bunu yapabiliriz. Aynı zamanda bu şablon içerisinde site sahibine e-posta göndermek ile ilgili bir fonksiyon da bulunmakta. Buna ek olarak bu dosya tema klasörümüzün içinde bulunacağından kullanıcılarımıza bu hata ile ilgili özlleştirilmiş bir bilgi de aktarabiliriz.

Çok fazla kafa ütülemeden koda geçiyorum. Bu dosyayı db-error.php olarak kaydedin ve kök dizindeki wp-content klasörü içerisine atın. Bu kodu isteğinize göre düzenleyebilirsiniz. Değiştirmeniz gereken yeri ışıklandırdım. Kendi e-postanızı bu alana yazmanız yeterli olacaktır.

db-error.php içeriği

<?php
	// Google gel bak anlaşalım bu geçici bir şey
	$protocol = $_SERVER["SERVER_PROTOCOL"];
	if ( 'HTTP/1.1' != $protocol && 'HTTP/1.0' != $protocol ) $protocol = 'HTTP/1.0';
	header( "$protocol 503 Service Unavailable", true, 503 );
	header( 'Content-Type: text/html; charset=utf-8' );
	header( 'Retry-After: 600' );

	// Değerleri alalım
	$temp = mysql_error();
	$url = curPageURL();

	// Sayfa linki nedir?
	function curPageURL() {
		$pageURL = 'http';
		if ($_SERVER["HTTPS"] == "on") { $pageURL .= "s"; }
		$pageURL .= "://";
		if ($_SERVER["SERVER_PORT"] != "80") {
			$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
		} else {
			$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];

		}
		return $pageURL;
	}

	// Bilgilendir bakalım yöneticiyi
	mail( 'epostanız@siteadresiniz.com', 'Websitesinde SQL Hatası', 'Bu otomatikleştirilmiş mesajdır. Hata mesajı : '.$temp.'. Hatanın alındığı sayfa linki : '.$url);
?>

<html>
<head>
    <title>Ups bir hata olmuş olmalı</title>
    <style>
        body { background: #FFFFFF ;font: 16px verdana, serif; line-height: 1.3; margin:0; padding:0; }
        #wrapper { height: 225px; margin: 80px auto 0; width:575px; }
        h1 { font-size: 34px; font-weight: normal; margin-top: 0; }
        p { margin: 0 0 10px 5px; }
    </style>
</head>
<body>
    <div id="wrapper">
        <h1>Ufak bir çalışma var sanırım</h1>
        <p>Sitede sanırım ufak bir hata var. Site sahibine haber verdik. Birkaç dakika içinde tekrar denersen seviniriz.</p>
    </div>
</body>
</html>

Bu dosyayı oluşturduktan sonra wp-content klasörü içerisine atın.

Bundan sonra her veritabanı hatası oluştuğunda size bununla ilgili bir e-posta düşecek ve kullanıcılarınıza düzgün bir sayfa aktarmış olacaksınız.

Selametle

Not: tema klasörüne atın gibi yanlış bir cümle kurmuşum. Aslı wp-content klasörü olacaktı. Düzeltmeyi yaptım. Bu hatadan Dolayı Özür dilerim.

4 thoughts on “Veritabanı Hatası Şablonu Oluşturmak…”

  1. slm ben bilgisayardan pek almamam.hep girdiğim bir site vardı.geçenlerde girmeye çalıştım sayfasının başında bu hata var [ Mysql error: 1054 (Unknown column 'g.url' in 'where clause') ] ben nedir anlamam… zaten açıp kapamaktan başka bişi bilmiyorum bilgisayarla ilgili bi yardımcı olabilecek varmı teşekkülrer

    1. Orhan bey,

      girdiğniz site ile ilgili bir veritabanı bağlantı hatası oluşmuş. ilgili site yöneticisi bu hatayı giderebilir ancak. Bizim buradan bir müdahale şansımız olmaz.

Comments are closed.