• 01-11-2006, 16:30:41
    #1
    Alexis in vermiş olduğu bir kaç mod buldum!

    phpBB : Critical Error 
    Error updating last visit time
    DEBUG MODE
    SQL Error : 2013 Lost connection to MySQL server during query
    UPDATE phpbb_users SET user_session_time = 1162029014, user_session_page = 0, user_lastvisit = 1162028899, user_lastlogon = 1162029161, user_totallogon=user_totallogon+1 WHERE user_id = -1
    Line : 207
    File : sessions.php 
     
    
    Bende de bir kaç mod var, şişen session tablosu için: 
    
    "Error creating new session" hatası çözümleri ve önlemleri 
    
    Bu yazıda kullanılan modlar 
    Fix Session Error [1.0.1] 
    Guest Sessions MOD [0.04] 
    Remove Duplicate Sessions [1.0.0] 
     
    İlk mod, dolan session tablosunu siliyor. Peki ne zaman siliyor ? "Error creating new session" hatası yerine ekleniyor kodlar bu da demektir ki, hata oluştuğu an (oluşmayacak artık) siliyor. 
    
    Kod:
    ############################################################## 
    ## MOD Title: Fix Session Error 
    ## MOD Author: TerraFrost < N/A > (Jim Wigginton) Frost Jedi :: Index 
    ## MOD Description: Makes "Error creating new session" errors that much harder to occur. 
    ## MOD Version: 1.0.1 
    ## 
    ## Installation Level: Easy 
    ## Installation Time: 1 Minutes 
    ## 
    ## Files To Edit: 1 
    ##      includes/sessions.php 
    ############################################################## 
    ## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the 
    ## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
    ## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
    ## in our MOD-Database, located at: http://www.phpbb.com/mods/ 
    ############################################################## 
    ## Author Notes: 
    ## 
    ############################################################## 
    ## MOD History: 
    ## 
    ##     1.0.1: - fixed a bug whereby logged in users got logged out. 
    ##            - fixed a bug preventing hack from working on boards with prefixes 
    ##              other than phpbb_ 
    ##     1.0.0: - initial release 
    ############################################################## 
    ## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
    ############################################################## 
    # 
    #-----[ OPEN ]------------------------------------------ 
    # 
    includes/sessions.php 
    # 
    #-----[ FIND ]------------------------------------------ 
    # 
             message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql); 
    # 
    #-----[ REPLACE WITH ]---------------------------------- 
    # 
    //-- [+] MOD: Fix Session Error ----------------------------------------- 
    //-- replace 
    // 
    //         message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql); 
    // 
             $sql2 = "DELETE FROM " . SESSIONS_TABLE . " WHERE session_logged_in = 0;"; 
             if (!$db->sql_query($sql2)) 
             { 
                message_die(CRITICAL_ERROR, 'Error clearing session table', '', __LINE__, __FILE__, $sql2); 
             } 
             if ( !$db->sql_query($sql) ) 
             { 
                message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql); 
             } 
    // 
    //-- [-] MOD: Fix Session Error ----------------------------------------- 
    # 
    #-----[   SAVE/CLOSE ALL FILES ]------------------------------------------ 
    # 
    # EoM
     
    Diğer modumuz ise, misafirler için sid olayını, yani session olayını kaldırıyor, bunu seo için de kullanıyoruz. 
    
    Kod:
    ################################################################# 
    ## MOD Title: Guest Sessions MOD 
    ## MOD Version: 0.04 
    ## MOD Author: CyberAlien <no@public_email> (Vjacheslav Trushkin) phpBB Styles :: Index 
    ## MOD Description: 
    ##      This mod removes session id for guests from url and this way 
    ##      guests who don't have cookies like different robots will use 
    ##      correct urls. It can be used to allow googlebot and other 
    ##      search engines to spider your forum correctly. 
    ## 
    ## Installation Level:   Easy 
    ## Installation Time:   1-2 Minutes 
    ## Files To Edit (1): includes/sessions.php 
    ############################################################## 
    ## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the 
    ## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
    ## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
    ## in our MOD-Database, located at: http://www.phpbb.com/mods/ 
    ############################################################## 
    ## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
    ############################################################## 
    # 
    #-----[ OPEN ]--------------------------------------------- 
    # 
    includes/sessions.php 
    # 
    #-----[ FIND ]--------------------------------------------- 
    # around line 157 
       $sql = "UPDATE " . SESSIONS_TABLE . " 
          SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin 
          WHERE session_id = '" . $session_id . "' 
             AND session_ip = '$user_ip'"; 
    # 
    #-----[ REPLACE WITH ]--------------------------------------- 
    # 
    //-- [+] Guest Sessions ------------------------------------------ 
    //-- replace 
    // 
    /* 
       $sql = "UPDATE " . SESSIONS_TABLE . " 
          SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin 
          WHERE session_id = '" . $session_id . "' 
             AND session_ip = '$user_ip'"; 
    */ 
       $sql_ip = $user_id == ANONYMOUS ? " AND session_ip = '$user_ip'" : ''; 
       $sql = "UPDATE " . SESSIONS_TABLE . " 
          SET session_ip = '$user_ip', session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login, session_admin = $admin 
          WHERE session_id = '" . $session_id . "' $sql_ip 
             AND session_user_id = '$user_id'"; 
    // 
    //-- [-] Guest Sessions ------------------------------------------ 
    
    # 
    #-----[ FIND ]--------------------------------------------- 
    # around line 210 
       $SID = 'sid=' . $session_id; 
    # 
    #-----[ REPLACE WITH ]--------------------------------------- 
    # 
    //-- [+] Guest Sessions ------------------------------------------ 
    //-- replace 
    // 
    //   $SID = 'sid=' . $session_id; 
    // 
       $SID = $user_id > 0 ? 'sid=' . $session_id : ''; 
    // 
    //-- [-] Guest Sessions ------------------------------------------ 
    # 
    #-----[ FIND ]--------------------------------------------- 
    # around line 288 
                $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : ''; 
    # 
    #-----[ REPLACE WITH ]--------------------------------------- 
    # 
    //-- [+] Guest Sessions ------------------------------------------ 
    //-- replace 
    // 
    //            $SID = ($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : ''; 
    // 
                $SID = $userdata['user_id'] > 0 ? (($sessionmethod == SESSION_METHOD_GET || defined('IN_ADMIN')) ? 'sid=' . $session_id : '') : ''; 
    // 
    //-- [-] Guest Sessions ------------------------------------------ 
    
    # 
    #-----[ FIND ]--------------------------------------------- 
    # around line 340 
       // 
       // If we reach here then no (valid) session exists. So we'll create a new one, 
    # 
    #-----[ BEFORE, ADD ]--------------------------------------- 
    # 
    //-- [+] Guest Sessions ------------------------------------------ 
    //-- add 
    // 
       elseif(empty($sessiondata)) 
       { 
          // try to login guest 
          $sql = "SELECT u.*, s.* 
             FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u 
             WHERE s.session_ip = '$user_ip' 
                AND s.session_user_id = " . ANONYMOUS . " 
                AND u.user_id = s.session_user_id 
                   LIMIT 0, 1"; 
          if ( !($result = $db->sql_query($sql)) ) 
          { 
             message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql); 
          } 
          $userdata = $db->sql_fetchrow($result); 
          if ( isset($userdata['user_id']) ) 
          { 
             if ( $current_time - $userdata['session_time'] > 60 ) 
             { 
                $sql = "UPDATE " . SESSIONS_TABLE . " 
                   SET session_time = $current_time, session_start = $current_time, session_page = 0 
                   WHERE session_id = '" . $userdata['session_id'] . "'"; 
                if ( !$db->sql_query($sql) ) 
                { 
                   message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql); 
                } 
             } 
             return $userdata; 
          } 
       } 
    // 
    //-- [-] Guest Sessions ------------------------------------------ 
    # 
    #-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
    # 
    # EoM 
     
    Üçüncü modumuz, tekrar eden veya eskimiş sessionları temizliyor, bunun da session tablosu üzerinde yararı var. 
    
    Kod:
    ############################################################## 
    ## MOD Title: Remove Duplicate Sessions 
    ## MOD Author: nurhendra < N/A > (Nur Hendra) N/A 
    ## MOD Description: To remove duplicate/old sessions from the same user. 
    ## MOD Version: 1.0.0 
    ## 
    ## Installation Level: Easy 
    ## Installation Time: ~1 Minutes 
    ## Files To Edit: includes/sessions.php 
    ## Included Files: n/a 
    ############################################################## 
    ## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the 
    ## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
    ## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
    ## in our MOD-Database, located at: http://www.phpbb.com/mods/ 
    ############################################################## 
    ## Author Notes: This MOD will remove duplicate/old sessions when a 
    ##               user is logging in to increase security (i.e. last 
    ##               session info when logged from Browser/PC #1 will be 
    ##               removed when user is logging in from Browser/PC #2). 
    ## 
    ############################################################## 
    ## MOD History: 
    ## 
    ##   2005-03-27 - Version 1.0.0 
    ##      - Initial release 
    ## 
    ############################################################## 
    ## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
    ############################################################## 
    # 
    #-----[ OPEN ]------------------------------------------ 
    # 
    includes/sessions.php 
    # 
    #-----[ FIND ]------------------------------------------ 
    # 
       // 
       // Create or update the session 
       // 
    # 
    #-----[ AFTER, ADD ]------------------------------------------ 
    # 
    //-- [+] Remove Duplicate Sessions ------------------------------- 
    //-- add 
    // 
       $sql = "DELETE FROM " . SESSIONS_TABLE . 
          " WHERE session_user_id = " . $user_id . 
          " AND session_id <> '" . $session_id ."'"; 
       if ( !$db->sql_query($sql) ) 
       { 
          message_die(GENERAL_ERROR, 'Error in removing duplicate sessions', '', __LINE__, __FILE__, $sql); 
       } 
    // 
    //-- [-] Remove Duplicate Sessions ------------------------------- 
    
    # 
    #-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
    # 
    # EoM
    Bu modları vermiş! Bunları kurdum ancak sorun hala devam ediyor!
    Üç modun üçünde denedim!
    Siteye gelen giden artmaya başladığı anda kasılma başlıyor ve biraz zaman sonra hata geliyor!
    Dosya şişmiş! Repair yaparaka nereye kadar gider bilmiyorum!
    Bunun kesin bir yolu var mı?
    Yardım ederseni çok sevinirim teşekkürler!
  • 03-11-2006, 01:15:10
    #2
    "Error creating new session" ile "Error updating last visit time" aynı hatalar değildir, hata session tablosunun dolması ile alakasızdır.

    "SQL Error : 2013 Lost connection to MySQL server during query" hatası ile ilgili pek cevaba rastlamadım.


    sanırım burada bi terslik var, ikinci user_totallogon in sayı olması gerekmez mi? :

    user_totallogon=user_totallogon+1
  • 03-11-2006, 13:54:24
    #3
    Alexis adlı üyeden alıntı: mesajı görüntüle
    "Error creating new session" ile "Error updating last visit time" aynı hatalar değildir, hata session tablosunun dolması ile alakasızdır.

    "SQL Error : 2013 Lost connection to MySQL server during query" hatası ile ilgili pek cevaba rastlamadım.


    sanırım burada bi terslik var, ikinci user_totallogon in sayı olması gerekmez mi? :

    user_totallogon=user_totallogon+1
    üstad kusura bakma yanlışlık olmuş modu ekleyelim derken senin sitedeki hatayıda eklemişim!
    Benim sitedeki sorun session.php ile ilgili dosya doluyo repair diyince site tekrar açılıyo!
    vermiş olduğun bu üç moddan birincisini kurdum bir haftadır tık yok!
    Sorun vermiyor!
    session için kesin olarak bu mod çözüm olur mu başka yolu var mı?
    Cevap verdiğin için teşekkür ederim usta!
  • 03-11-2006, 16:52:47
    #4
    "Fix Session Error" un çözmesi lazım, zira bunu kurunca o hata replace ediliyor DELETE ile, aynı hata bu defa SQL ile ilgili bağlantı sorunu olursa çıkıyor sadece, senki ki normal bir olaya benzemiyor.

    Bunun yanında vewrdiğim diğer 2 modda session a yazılmasını biraz olsun kısıtlıyor, misafirler için session açılmıyor, aynı IP'den çift sessiona izin verilmiyor, normelde hepsi işe yarayan ve benimde kullandığım yöntemler.

    Son zamanlarda kurduğun modları, değiştirdiğin kodlara bir göz bence, direk hata kodu ile çözemiyorum ben.
  • 03-11-2006, 18:13:54
    #5
    Alexis adlı üyeden alıntı: mesajı görüntüle
    "Fix Session Error" un çözmesi lazım, zira bunu kurunca o hata replace ediliyor DELETE ile, aynı hata bu defa SQL ile ilgili bağlantı sorunu olursa çıkıyor sadece, senki ki normal bir olaya benzemiyor.

    Bunun yanında vewrdiğim diğer 2 modda session a yazılmasını biraz olsun kısıtlıyor, misafirler için session açılmıyor, aynı IP'den çift sessiona izin verilmiyor, normelde hepsi işe yarayan ve benimde kullandığım yöntemler.

    Son zamanlarda kurduğun modları, değiştirdiğin kodlara bir göz bence, direk hata kodu ile çözemiyorum ben.
    teşekkürler ustam dediklerini yapacağım!