Debian-basierte Systeme Sitzung nach 30 Minuten in einem speziellen Cron beendet, wie überschreiben?

Habe mir die Haare ausgerissen, um herauszufinden, warum meine Sitzungen nach 30 Minuten beendet / getötet / zerstört werden. Nun, es sieht so aus, als hätten Debian-basierte Systeme einen speziellen Cron, der alle php.ini- und apache-Konfigurationen ignoriert und jede inaktive Sitzung nach 30 Minuten beende

Der Cron-Pfad:/etc/cron.d/php5

Innerhalb des Cron:

# /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

Ich bin nicht schlecht darin, Hosts zu konfigurieren und einzurichten, aber ich bin kein sysAdmin. Könnte mir jemand helfen, dies zu überschreiben, zu bearbeiten, zu ändern oder neu zu konfigurieren, damit ich den Wert länger einstellen kann? Ich denke, 3 Stunden wären schön, aber ich würde die Änderungen gerne verstehen. Wenn also jemand auf einer höheren Ebene die Sitzungszeit verkürzen oder verlängern möchte, dokumentiere ich, wie die Änderung konfiguriert wird.

Danke an alle Einblicke Hilfe zu diesem

EDIT: Hinzufügen von / 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

so es sieht so aus, als würde man alle php.ini-Dateien durchsuchen, den größten Wert finden und ihn mit 1440 vergleichen (das sind 24 Minuten).

Hier sind die php.ini-Dateien

/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

Aber warum wird meine Skriptsitzung nach 30 Minuten und nicht nach 24 Minuten beendet?

EDIT # 2: CRON wird alle 30 Minuten ausgeführt, daher scheint die Sitzung alle 30 Minuten beendet zu werden. Es könnten aber auch 24 bis 54 Minuten sein, FYI

Schauen Sie sich auch den Code in:/usr/lib/php5/maxlifetime Es nimmt den höchsten Wert an und während meines Tests habe ich versucht, die Schwelle zu senken, um den Zustand zu beschleunigen.

Sieht so aus, als müsste ich nur eine für die php.ini-Dateien auf über eine Stunde Testtest erhöhen.

Antworten auf die Frage(12)

Ihre Antwort auf die Frage