PHP PEAR Auth oturum zaman aşımı

1 Cevap php

Bu sorun beni deli olmuştur. Iki ayrı proje (kütüphaneler gibi PEAR kullanabilirsiniz ama tamamen farklı özel çerçeveler üzerinde yazılı her ikisi de) ben oturumu kullanan kimlik doğrulaması için ARMUT Yet kullanıyorum.

Giriş yaptıktan sonra, kullanıcılar boşta olmanın bir saat ya da öylesine içinde çıktınız. Ben tam zamanı yok, ama çok kısa bulunuyor.

Ben hiçbir başarı ile aşağıdaki denedim. Hepsi sadece nokta ev çivi, bir gün oturumu uzatmak için çalışır.

<?php
// Tried built-in methods to extend the idle time, called after Auth is initialised
$auth->setIdle( 86400 );

// Tried increasing the sesion timeout (before auth is called)
ini_set( 'session.gc_maxlifetime', 86400 );

// Tried increasing the cookie timeout (where the phpsession is held, before auth is called)
session_set_cookie_params( 86400 );

// Tried all of the above
?>

Başkasının bu sorunu oldu? Eğer öyleyse, o boşta süresini uzatmak mümkün mü?

Ben hemen hazır PEAR kahretsin ve benim kendi çerez tabanlı auth sınıf yazmak değilim, ama gerçekten vaktim yok.

1 Cevap

Ben şimdiye kadar bu sorunla karşılaşırsanız yoktu, ama henüz kapalı olması görünmüyor iki olası nedenlerini görmek:

  1. Bu setIdle () ek olarak yetkilendirme sınıfının setExpire() yöntem kontrol edebilir.
  2. Daha düşük bir zaman aşımı ile aynı oturum depolama dizini kullanarak, aynı sunucu üzerinde çalışan diğer php tabanlı uygulamalar / komut olabilir. session.gc_maxlifetime docs: göre

    If different scripts have different values of session.gc_maxlifetime but share the same place for storing the session data then the script with the minimum value will be cleaning the data. In this case, use this directive together with session.save_path.