ilgiliforum facebook   ilgiliforum instagram   ilgiliforum youtube   ilgiliforum tumblr   ilgiliforum pinterest   ilgiliforum rss  

SMF 2.x - Visitor Cache Sistemi v1.1

 
Bu konu ile benzer olabilecek diğer forum sayfaları
 
 
 
 
Visitor Cache for SMF 2.x


Tamamen ziyaretçilerin görebildiği sayfalara cache tutan bir sistemdir. Mysql sorgulamalarını oldukça aza indirdiği için, ziyaretçi sayısı çok fazla olan forumlar için idealdir. Genelde hiti yüksek forumların, ziyaretçi sayıları, online üyelerden fazladır ve Siteyi zorlayan hep ziyaretçiler olmuştur. Bu anlamda pratik bir yapıya sahip olan, Visitor Cache Sistemi kolayca manuel olarak kurabileceğiniz ve hemen kullanmaya başlayabileceğiniz bir sistemdir.

Sadece SMF 2.x'a özel çalışmaktadır. Denemeleri (version v1.1 için) SMF 2.0 RC5 üzerinde yapılmıştır. Seo4SMF kurulu forumlarda da çalışmaktadır. Aşağıda bu sistemi kullanmanız için yapmanız gereken değişiklikler anlatılmıştır. Tüm değişiklikler ana dizindeki index.php dosyasında yapılmaktadır.

Cache süresi 600 sn. yani 10 dakika olarak ayarlanmıştır. Bunu da ihtiyacınıza göre değiştirebilirsiniz. Eğer çok fazla değişiklik olmayacağını düşünüyorsanız, 3600 sn. (1 saat) veya 86400 sn. (1 gün) olarak da ayarlayabilirsiniz. Cache süresi arttıkça, mysql sorgulamaları düşecektir.




Yapılacak değişiklikler:

1] Öncelikle index.php'nin olduğu dizine, ismini belirleyeceğiniz boş bir klasör açın ve klasör iznini 777 olarak ayarlayın. İçine bir de boş index.html dosyası atın. Vereceğim kodlardaki klasörün ismi yedek olacak. Bu ismi değiştirebilirsiniz.


2] Şu kısmı bulun ve silin:

Kod: [Seç]
// Load the user's cookie (or set as guest) and load their settings.
loadUserSettings();


3] Şu kısmı bulun:

Kod: [Seç]
// Start the session. (assuming it hasn't already been.)
loadSession();


Sonrasına şunu ekleyin:

Kod: [Seç]
// Load the user's cookie (or set as guest) and load their settings.
loadUserSettings();

// #1 Visitor Cache v1.1
if ($user_info['is_guest'] && !empty($_GET['topic']) && empty($_GET['action']))
{
$c1 = (int) $_REQUEST['topic'];
$c2 = (int) $_REQUEST['start'];

// Klasör ismini ve cache süresini düzenleyebilirsiniz.
$context['yedek'] = 'yedek';
$context['yedek_sure'] = 600;
$context['yedek'] = $context['yedek'].'/t-'.$c1.'.'.$c2.'.html';

if ((file_exists($context['yedek'])) && ((filemtime($context['yedek']) + $context['yedek_sure']) > time()))
{
$cSj = file_get_contents($context['yedek']);
echo $cSj;
exit;
}
else { $context['yedek_al'] = true; }
}


4] Şu kısmı bulun:

Kod: [Seç]
// Call obExit specially; we're coming from the main area ;).
obExit(null, null, true);


Sonrasına şunu ekleyin:

Kod: [Seç]
// #2 Visitor Cache v1.1
if ($context['yedek_al'])
{
$cSj = '<!-- Visitor Cache: '.date('d M Y H:i:s ', time()).' by C.S.J --></html>';
$vatan = str_replace('</html>', $cSj, ob_get_contents());

if ($modSettings['seo4smf_enable'] == "on")
{
$scripturl1=str_replace("/index.php","",$scripturl);
$vatan = preg_replace('/"' . preg_quote($scripturl, '/') . '\?((?:board|topic|page)=[^#"]+?)(#[^"]*?)?"/e', "'\"' . \$scripturl1 . '/' . beautify_urls(strtr('\$1', '&;=', '//,')) . '\$2\"'", $vatan);
}
$tc = fopen($context['yedek'], 'w');
fwrite($tc, $vatan);
fclose($tc);
}



Şuan için sadece topic sayfalarını cache tutmaktadır. SMF 2.x'in kendi Seviye 1 cache sistemini kullanarak ana sayfa ve kategori (board) sayfaları için cache tutturabilirsiniz. Cache sistemi hakkında her türlü sorunu buradan bildirebilirsiniz.
 
 
Allah'a Güven.

 
 
Biriken cache dosyalarını silmek isterseniz (aslında hiç gerek yok, fakat bir şekilde ihtiyaç olabilir.), aşağıdaki kodları bir php dosyasına koyup, serverınızda cron-job çalıştırarak veya manuel olarak kendiniz çalıştırarak cache dosyalarını silebilirsiniz.


Kod: [Seç]
// Yedeğe alınan önbellek sayfalarını silme scripti...
if ($_GET['x'] == 'sifreniz') {
$anadizin = 'yedek';
if ($kaynak = opendir($anadizin)) {
while (false != ($file = readdir($kaynak))) {
if ($file != "." AND $file != ".." AND $file != "index.html" AND file !=".htaccess") { unlink($anadizin."/".$file); }
}
}
echo 'Yedekler silindi...';
}


Şifreli yapıp başkalarının durduk yere cache'lerinizi silmesini önleyebilirsiniz.
Çalıştırmak için /yedeksil.php?x=sifreniz
Allah'a Güven.

 ~ 

Bu konunun linki : 

Yukarıdaki linki arkadaşlarınıza göndermek için kullanabilirsiniz ve bu sayfada; SMF 2.x - Visitor Cache Sistemi v1.1 hakkında bilgiler nedir yazıları veya şiirleri gibi sözleri veya resimleri SMF 2.x - Visitor Cache Sistemi v1.1 siteleri gibi benzer birçok forum konularını bulabilirsiniz.

 ~ 

Son Forum Mesajları

Kaynak linkimizi belirtmek koşulu ile her türlü bilgiyi kopyalayabilirsiniz. Forum içerisinde yazılan tüm mesajların hukuki sorumlulukları mesajları yazanlara aittir. Üyeler, üyelik sözleşmesi gereği bu kuralı kabul etmiş sayılır. Ziyaretçilerimiz bu forumu kullanmadan önce Forum Kurallarını okumak zorundadırlar. Aksi durumda meydana gelecek bütün olumsuz durumlardan ziyaretçilerin bizzat kendileri sorumludur. Sitemizde telif, kişi haklarına; yasalara aykırı olduğunu düşündüğünüz bir konu görürseniz bize aşağıdaki iletişim adresinden ulaşabilirsiniz.

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60 100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600, 650, 700, 750, 800, 850, 900, 950, 960

© 2006-2019 ilgiliFORUM.com