डेबियन ठीक php सत्र जीवनकाल

Debian OpenLogo

अंतिम दिन एक दोस्त ने मुझे लिखा है कि वह के साथ एक समस्या थी डेबियन एक सर्वर-अपने. अधिक स्पष्ट पहरा नहीं EASB अधिक 30 चाहे कितना मिनट धुनों session.gc_maxlifetime. В общи линии проблема е че Debian са решили да пренапишат поведението на сесиите като вместо garbage collector-а се стартира един cron на всяка 9-та и 39-та минута който почиства старите сесии. Тои се намира в /etc/cron.d/php5

като цяло семпличък скрипт който стартира от своя страна /usr/lib/php5/maxlifetime и в него се намира променливата колко време да е живота на кукито който е 1440 секунди или 24 минути 😉 От тук нататък има 2 варианта или да се спре крон-а и по този начин се прекратява автоматичното чистене което може по късно да се пренастрой от php.ini или направо в самия скрипт да се промени продължителноста на живота на сесиите с променливата max. Аз лично предпочитам втория вариант. Доста по чист е като цяло но има и недостатъкако се презапише файлът промените ни ще се изгубят което си е неприятен факт.

पी एस. Сега като се замисля вероятно ако се дефинира друго място където да се съхранява сеиината информация чрез самото php би трябвало да излезе извън обхвата на скрипта и по този начин да се използва пак по нормален сесията без да прекъсва грубо.

ini_set('session.gc_maxlifetime', 14400);
 ini_set('session.gc_probability', 1);
 ini_set('session.gc_divisor', 100);
 session_save_path(APP_PARENT_DIR . '/sessions');

Zemanta द्वारा बढ़ाया

2 टिप्पणियाँ

    1. Всичко зависи от настройките на OS-a на, споделен хостинг би трябвало да имаш опция за настройка на php-ини че там свинщината е различна в зависимост с какво се управлява хостинг-а. За VPS-а трябва да се види как е настроено php-то. Като цяло това е за Debian пичовете

उत्तर छोड़ दें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा. अपेक्षित स्थानों को रेखांकित कर दिया गया है *

विरोधी स्पैम *