Системы на основе Debian Сессия завершена через 30 минут в специальном cron, как переопределить?

Я выдергивал мои волосы, пытаясь выяснить, почему мои сеансы завершаются / убиваются / уничтожаются через 30 минут. Что ж, похоже, что в системах на основе Debian есть специальный запущенный cron, который игнорирует все конфигурации php.ini и apache и завершает любой сеанс ожидания через 30 минут.

Путь cron: /etc/cron.d/php5

Внутри 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

Я неплохо конфигурирую и настраиваю хосты, но я не системный администратор. Может ли кто-нибудь помочь мне переопределить / отредактировать / изменить / перенастроить это, чтобы я мог установить значение дольше? Я думаю, что 3 часа было бы неплохо, но я хотел бы понять изменения, поэтому, если кто-то выше хочет сделать время сеанса короче / длиннее, я должен документально описать, как настроить изменение. Добавление кода / usr / lib / php5 / maxlifetime

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

, чтобы он выглядел как ищущий все файлы php.ini, находит наибольшее значение, сравнивает его с 1440 (что составляет 24 минуты).

Вот файл php. ini

/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

, но почему мой сеанс сценария завершается через 30 минут, а не через 24 минуты?

РЕДАКТИРОВАТЬ №2: CRON, запускаемый каждые 30 минут, поэтому кажется, что сеанс завершается с 30-минутными интервалами. Но это также может быть от 24 до 54 минут, к вашему сведению

Также просматривая код в: / usr / lib / php5 / maxlifetime , он принимает максимальное значение, и во время моего тестирования я пытался снизить порог, чтобы ускорить выполнение условия.

Похоже, мне просто нужно увеличить один в файлах php.ini до более чем одного часа тестового теста.

10
задан Phill Pafford 5 October 2010 в 16:05
поделиться