Benim oturumları 30 dakika tahrip / öldürülen / bitirildiği neden bulmaya çalışıyorum saçımı çekerek edilmiştir. Debian tabanlı sistemler tüm php.ini ve apache yapılandırmaları sayar ve 30 dakika boşta olan herhangi bir oturumu öldüren özel bir cron çalışan var gibi iyi görünüyor.
Cron yolu: /etc/cron.d/php5
Cron içinde:
# /etc/cron.d/php5: crontab fragment for php5
# This purges session files older than X, where X is defined in seconds
# as the largest value of session.gc_maxlifetime from all your php.ini
# files, or 24 minutes if not defined. See /usr/lib/php5/maxlifetime
# Look for and purge old sessions every 30 minutes
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm
Ben yapılandırma ve ana kurma fena değilim ama ben hiçbir sistem yöneticisi değilim. Birisi bana bu yüzden ben artık değerini ayarlayabilirsiniz Bu yeniden / / düzenleme / değişiklik geçersiz yardım eder misiniz? Ben 3 saat güzel olacağını düşünüyorum ama birisi daha yukarı oturum süresi daha kısa / uzun ben con belge değişimi nasıl yapılandırılacağı yapmak istiyorsa bu yüzden değişiklikleri anlamak istiyorum.
Bu konuda herhangi bir fikir yardımı sayesinde
EDIT: Adding /usr/lib/php5/maxlifetime code
#!/bin/sh -e
max=1440
for ini in /etc/php5/*/php.ini; do
cur=$(sed -n -e 's/^[[:space:]]*session.gc_maxlifetime[[:space:]]*=[[:space:]]*\([0-9]\+\).*$/\1/p' $ini 2>/dev/null || true);
[ -z "$cur" ] && cur=0
[ "$cur" -gt "$max" ] && max=$cur
done
echo $(($max/60))
exit 0
bu nedenle tüm php.ini dosyaları arama olarak görünüyor, en büyük değeri bulur, (24 dakika olan) 1440 karşılaştırır.
İşte php.ini dosyaları
/etc/php5/apache2/php.ini
session.gc_maxlifetime = 1440
/etc/php5/cgi/php.ini
session.gc_maxlifetime = 1440
/etc/php5/cli/php.ini
session.gc_maxlifetime = 1440
ama neden benim komut seans 24 dakika 30 dakika öldürüldü ve yok olsun ki?
EDIT #2: CRON running every 30 minutes is why the session looks to be killed at 30 minute intervals. But it could also be 24 to 54 minutes, FYI
/usr/lib/php5/maxlifetime
en yüksek değerini alıyor ve benim test sırasında ben durumu hızlandırmak için eşiğini düşürdüğü için çalışıyordu: Ayrıca kod üzerinde seyir.
Ben sadece bir saat test test üzerinde php.ini dosyaları birini artırmak gerekiyor gibi görünüyor.