• 30-12-2021, 09:25:05
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar,
    Opencart 3.0.2.0 versiyonunda sisteme giriş yaptığımızda sistemden kopma olmuyor. Oturum devamlı açık kalıyor. Belki birkaç gün sayfayı yenilediğinizde sistemde oturum kayıtlı olarak çıkıyor. Bu da veritabanında oc_session dosyasının şişmesine neden oluyor. Ayrıca bu dosya dolduğunda opencart yedek alıp geri yükle dediğimde hata mesajı veriyor ve yedek hiçbir şekilde yüklenmiyor. Bunun için oc_session tablosunu günlük temizleyen bir modül kullanıyorum ama günlük oc_session tablosunu silmek bir sakınca oluşturur mu? Her gün silinen oc_session tablosundan dolayı yedek geri yükleme de sorun olmuyor. Bunu başka yollarla veya kodlarla yapabileceğim başka bir yolu var mıdır? Yoksa bu şekilde devam edeyim mi?
    Opencart 3.0.3.8 versiyonunda 24 dakika sonra oturumu sonlandırıyor. db.php dosyaları her iki sürümde farklı.
  • 30-12-2021, 09:39:16
    #2
    Takip
  • 30-12-2021, 10:09:53
    #3
    hocam,
    php.ini dosyasında session.gc_maxlifetime ve benzer ayarlar var, bu ayarları kontrol edip düşürebilir misiniz? Aynı şekilde sunucunuzun izin veriyor ise cpanelden php settings kısmından da benzer ayarlara ulaşabilirsiniz. Ben hep müşterilerimde tam tersi sorun yaşıyorumi herkes çok kısa süre sonra atmasından şikayetçi oluyor ama sizde tam tersi php.ini dosyasında eğer ayarlar normal ise htaccess e extra timeoutlarla ilgili tanımlanmış bir şey var mı kontrol edebilirsiniz. Böylelikle sorununuz DB yerine temelden çözülecektir. Bir aşama daha var eğer root erişiminiz var ise tmp dosyası buna sebep olur,tmp içindeki cacheleri temzileyip deneyebilirsiniz eğer sorun çözülüyorsa DB yerine mesela tmp içindeki ilgili dosyaların silinmesi için cron oluşturabilirsiniz bu da daha sağlıklı olacaktır
  • 30-12-2021, 10:15:09
    #4
    halilevren adlı üyeden alıntı: mesajı görüntüle
    hocam,
    php.ini dosyasında session.gc_maxlifetime ve benzer ayarlar var, bu ayarları kontrol edip düşürebilir misiniz? Aynı şekilde sunucunuzun izin veriyor ise cpanelden php settings kısmından da benzer ayarlara ulaşabilirsiniz. Ben hep müşterilerimde tam tersi sorun yaşıyorumi herkes çok kısa süre sonra atmasından şikayetçi oluyor ama sizde tam tersi php.ini dosyasında eğer ayarlar normal ise htaccess e extra timeoutlarla ilgili tanımlanmış bir şey var mı kontrol edebilirsiniz. Böylelikle sorununuz DB yerine temelden çözülecektir. Bir aşama daha var eğer root erişiminiz var ise tmp dosyası buna sebep olur,tmp içindeki cacheleri temzileyip deneyebilirsiniz eğer sorun çözülüyorsa DB yerine mesela tmp içindeki ilgili dosyaların silinmesi için cron oluşturabilirsiniz bu da daha sağlıklı olacaktır
    hocam ek olarak da system/library/session.php içerisinde

    $samsite_cookie_options = array ( 'expires' => ini_get('session.cookie_lifetime'), 'path' => ini_get('session.cookie_path'),

    bu kodu bulup bu şekilde mi diye kontrol eder misin? eğer "'expires' => ini_get('session.cookie_lifetime') " bu kısım 'expires' => time() - 90000 veya herhangi bir rakam şeklinde ise bu rakamı düşürebilir (saniye cinsindendir) veya yukarıdaki gibi yapabilirsin. Ama bu işlemi yapmadan önce kesinlikle orijinal dosyayı yedeklemenizi öneririm
  • 30-12-2021, 13:51:02
    #5
    halilevren adlı üyeden alıntı: mesajı görüntüle
    hocam ek olarak da system/library/session.php içerisinde

    $samsite_cookie_options = array ( 'expires' => ini_get('session.cookie_lifetime'), 'path' => ini_get('session.cookie_path'),

    bu kodu bulup bu şekilde mi diye kontrol eder misin? eğer "'expires' => ini_get('session.cookie_lifetime') " bu kısım 'expires' => time() - 90000 veya herhangi bir rakam şeklinde ise bu rakamı düşürebilir (saniye cinsindendir) veya yukarıdaki gibi yapabilirsin. Ama bu işlemi yapmadan önce kesinlikle orijinal dosyayı yedeklemenizi öneririm
    session.php dosyasında bu kod satırı yok maalesef.
    3.0.3.8 sürümümde session klasörü içerisindeki db.php dosyasında aşağıdaki kod satırı var.
    $this->maxlifetime = ini_get('session.gc_maxlifetime') !== null ? (int)ini_get('session.gc_maxlifetime') : 1440;
    1440 değeri 24 dakikaya denk geliyor. 3.0.3.8 sürümünde bu sürede oturumu sonlandırıyor. ama 3.0.2.0 de kodlar tamamen farklı ve bu kod satırı yok.
    Ana dizindeki php.ini dosyasında aşağıdaki satır var ama bu etkili değil maalesef.
    session.gc_maxlifetime = 3600;
  • 30-12-2021, 16:12:44
    #6
    ahcan adlı üyeden alıntı: mesajı görüntüle
    session.php dosyasında bu kod satırı yok maalesef.
    3.0.3.8 sürümümde session klasörü içerisindeki db.php dosyasında aşağıdaki kod satırı var.
    $this->maxlifetime = ini_get('session.gc_maxlifetime') !== null ? (int)ini_get('session.gc_maxlifetime') : 1440;
    1440 değeri 24 dakikaya denk geliyor. 3.0.3.8 sürümünde bu sürede oturumu sonlandırıyor. ama 3.0.2.0 de kodlar tamamen farklı ve bu kod satırı yok.
    Ana dizindeki php.ini dosyasında aşağıdaki satır var ama bu etkili değil maalesef.
    session.gc_maxlifetime = 3600;
    hocam, o zaman catalog/controller/startup kontrol edebilir misiniz? bir de session klasörünün içindeki file.php yi kontrol edebilir misiniz? burada mantık şu eğer o dosyalarda elle bir rakam belirtildi ise o rakamın karşılığı kadar tutar eğer elle belirtilmedi ise yukarıda ilk satırda yazdığım gibi o zaman session.gc_maxlifetime dan çeker, bu da php.ini de olabilir, htacesste ayrıca tanımlanmış olabillir
  • 30-12-2021, 16:18:54
    #7
    halilevren adlı üyeden alıntı: mesajı görüntüle
    hocam, o zaman catalog/controller/startup kontrol edebilir misiniz? bir de session klasörünün içindeki file.php yi kontrol edebilir misiniz? burada mantık şu eğer o dosyalarda elle bir rakam belirtildi ise o rakamın karşılığı kadar tutar eğer elle belirtilmedi ise yukarıda ilk satırda yazdığım gibi o zaman session.gc_maxlifetime dan çeker, bu da php.ini de olabilir, htacesste ayrıca tanımlanmış olabillir
    header veya footerdan sürekli ping atıyor olabilir mi hocam sistem? şimdi aklıma geldi, bir yerde sürekli ping atması için bir komut verilmiş olabilir mi? çünkü eğer bu ayarlar hepsi doğru ise sistemin pinglenmesinden başka bir şey gelmiyor aklıma
  • 30-12-2021, 16:53:44
    #8
    Tekrar bir inceleyeyim.
    İlginiz için teşekkürler..