ፒፒፒ ኩኪ የህይወት ዘመን። በ PHP ውስጥ ካለው ክፍለ ጊዜ ኩኪዎች እንዴት ይለያሉ? የክፍለ ጊዜ ፋይል ማከማቻ መንገድ

ኩኪዎች የርቀት ኮምፒዩተር አሳሽ ተመላሽ ጎብኝዎችን ለመለየት እና የድረ-ገጽ መለኪያዎችን (እንደ ተለዋዋጮች ያሉ) የሚያከማችበት ዘዴ ነው።

አንድ የተወሰነ ምሳሌ በመጠቀም ኩኪዎችን የመጠቀም ምሳሌ እንስጥ።

የድር ጣቢያ ጉብኝት ቆጣሪ መጻፍ አለብን እንበል። በእያንዳንዱ የተለየ ጎብኝ ምን ያህል ወደ ጣቢያው እንደተጎበኘ ማወቅ አለብን።

ይህ ችግር በሁለት መንገዶች ሊፈታ ይችላል. የመጀመሪያው የተጠቃሚውን አይፒ አድራሻ መዝግቦ መያዝ ነው። ይህንን ለማድረግ የአንድ ሠንጠረዥ የውሂብ ጎታ ያስፈልግዎታል ፣ የእሱ ግምታዊ መዋቅር እንደሚከተለው ነው።

አንድ ተጠቃሚ አንድን ጣቢያ ሲጎበኝ የአይፒ አድራሻውን መወሰን፣ ስለጎበኘው መረጃ በመረጃ ቋቱ ውስጥ ማግኘት፣ ቆጣሪውን መጨመር እና የጎብኝውን አሳሽ ማሳየት አለብን። ለእንደዚህ አይነት አሰራር ተቆጣጣሪ (ስክሪፕት) መጻፍ አስቸጋሪ አይደለም. ሆኖም ይህንን ዘዴ ስንጠቀም የሚከተሉት ችግሮች አሉብን።

  • ለእያንዳንዱ አይፒ አድራሻ በአንድ ሠንጠረዥ ውስጥ መዝገቦችን ማስቀመጥ ያስፈልግዎታል, ይህም በጣም ትልቅ ሊሆን ይችላል. እና ከዚህ በመነሳት ፕሮሰሰር ጊዜን እና የዲስክ ቦታን ያለምክንያት እየተጠቀምን ነው;
  • አብዛኛዎቹ የቤት ተጠቃሚዎች ተለዋዋጭ አይፒ አድራሻ አላቸው። ያም ማለት ዛሬ አድራሻው 212.218.78.124, እና ነገ - 212.218.78.137 ነው. ስለዚህ አንድ ተጠቃሚ ብዙ ጊዜ የመለየት እድሉ ከፍተኛ ነው።

ለመተግበር በጣም ቀላል እና የበለጠ ውጤታማ የሆነውን ሁለተኛውን ዘዴ መጠቀም ይችላሉ. በርቀት ተጠቃሚው ዲስክ ላይ የሚቀመጥ ተለዋዋጭ ኩኪ ውስጥ አዘጋጅተናል። ይህ ተለዋዋጭ ስለ ጉብኝቶች መረጃን ያከማቻል። ጎብኚው አገልጋዩን ሲደርስ በስክሪፕቱ ይነበባል። የዚህ መለያ ዘዴ ጥቅሞች ግልጽ ናቸው. በመጀመሪያ ስለ አይፒ አድራሻዎች ብዙ አላስፈላጊ መረጃዎችን ማከማቸት አያስፈልገንም. በሁለተኛ ደረጃ፣ ስለ ጉብኝታቸው መረጃ ለእያንዳንዱ ጣቢያ ጎብኝ ስለሚከማች ተለዋዋጭ የአይፒ አድራሻዎችን ፍላጎት የለንም ።

አሁን ለምን ኩኪዎችን መጠቀም እንደምንችል ግልጽ ነው - ከጣቢያው ደንበኛ (ጎብኚ) ትንሽ መረጃን ለማከማቸት, ለምሳሌ: የጣቢያ ቅንብሮች (ገጽ የጀርባ ቀለም, ቋንቋ, የጠረጴዛ ንድፍ, ወዘተ), እንዲሁም ሌሎች መረጃዎች. .

ኩኪዎች በድረ-ገጽ ጎብኝዎች ዲስክ ላይ የተቀመጡ ተራ የጽሑፍ ፋይሎች ናቸው። የኩኪዎች ፋይሎች በውስጣቸው በአገልጋዩ የተቀዳውን መረጃ ይይዛሉ።

ፕሮግራሚንግ ኩኪዎች

ኩኪዎችን ፕሮግራሚንግ እንጀምር።

ኩኪዎችን ለማዘጋጀት ተግባሩን ይጠቀሙ ኩኪን አዘጋጅ(). ለዚህ ተግባር ስድስት መለኪያዎች አሉ ፣ ከእነዚህ ውስጥ አንዱ ያስፈልጋል ።

  • ስም - ለኩኪው የተሰጠውን ስም (የሕብረቁምፊዎች) ስም ይገልጻል;
  • እሴት - የተለዋዋጭ (ሕብረቁምፊ) ዋጋን ይገልፃል;
  • ጊዜው ያለፈበት - ተለዋዋጭ የህይወት ዘመን (ኢንቲጀር). ይህ ግቤት ካልተገለጸ, ኩኪው እስከ ክፍለ-ጊዜው መጨረሻ ድረስ "ይኖራል" ማለትም አሳሹ እስኪዘጋ ድረስ. አንድ ጊዜ ከተገለጸ, ከዚያም ሲመጣ, ኩኪው እራሱን ያጠፋል.
  • መንገድ - ወደ ኩኪ (ሕብረቁምፊ) መንገድ;
  • ጎራ - ጎራ (ሕብረቁምፊ). እሴቱ ኩኪው ከተጫነበት የአስተናጋጅ ስም ጋር ተቀናብሯል;
  • ደህንነቱ የተጠበቀ - የኩኪ ስርጭት ደህንነቱ በተጠበቀ የኤችቲቲፒኤስ ግንኙነት።

ብዙውን ጊዜ የመጀመሪያዎቹ ሦስት መለኪያዎች ብቻ ጥቅም ላይ ይውላሉ.

ኩኪዎችን የማዘጋጀት ምሳሌ፡-



አዘጋጅ ኩኪ ("ሙከራ" , "እሴት");

// ከተጫነ በኋላ ለአንድ ሰዓት ያህል ኩኪን ያዘጋጁ:
አዘጋጅ ኩኪ ("የእኔ_ኩኪ", "ዋጋ", ጊዜ ()+ 3600);

?>

ኩኪዎችን በሚጠቀሙበት ጊዜ፣ እባክዎን ኩኪዎች ወደ አሳሹ መረጃ ከመጀመሪያው ውፅዓት በፊት መዘጋጀት አለባቸው (ለምሳሌ ፣ በ echo ኦፕሬተር ወይም በማንኛውም ተግባር ውፅዓት)። ስለዚህ, በስክሪፕቱ መጀመሪያ ላይ ኩኪዎችን ማዘጋጀት ይመረጣል. ኩኪዎች የሚዘጋጁት የተወሰነ የአገልጋይ ራስጌ በመጠቀም ነው፣ እና ስክሪፕቱ የሆነ ነገር ካወጣ፣ የሰነዱ አካል ይጀምራል ማለት ነው። በዚህ ምክንያት ኩኪዎች አይጫኑም እና ማስጠንቀቂያ ሊታይ ይችላል. ኩኪዎች በተሳካ ሁኔታ መጫኑን ለማረጋገጥ የሚከተለውን ዘዴ መጠቀም ይችላሉ።

// እስከ ክፍለ-ጊዜው መጨረሻ ድረስ ኩኪን ያዘጋጁ፡-
// ኩኪው በተሳካ ሁኔታ ከተዘጋጀ፣ የSetCookie ተግባር ወደ እውነት ይመልሳል፡-
"

ኩኪዎች በተሳካ ሁኔታ ተጭነዋል!

" ;
?>

ተግባር ኩኪን አዘጋጅ()ኩኪው በተሳካ ሁኔታ ከተዘጋጀ TRUE ይመልሳል። ኩኪው ማዋቀር ካልተቻለ፣ SetCookie() ወደ FALSE እና ምናልባትም ማስጠንቀቂያ (በ PHP መቼቶች ላይ በመመስረት) ይመለሳል። ያልተሳካ የኩኪ ጭነት ምሳሌ፡-

// ኩኪዎችን ማዘጋጀት አይቻልም ምክንያቱም ከመላክዎ በፊት
// የኩኪ ራስጌ "ሄሎ" የሚለውን ሕብረቁምፊ ወደ አሳሹ እናሳያለን-
አስተጋባ "ሄሎ";
// የ SetCookie ተግባር FALSE ይመለሳል፡-
ከሆነ (SetCookie("ሙከራ"፣"እሴት")) የሚያስተጋባ ከሆነ "

ኩኪ በተሳካ ሁኔታ ተቀናብሯል!

" ;
ሌላ አስተጋባ "

ኩኪ ማዘጋጀት አልተቻለም!

"
;
// ህትመቶች "ኩኪ መጫን አልተቻለም!"
?>

የኩኪውን ራስጌ ከመላካችን በፊት "ሄሎ" የሚለውን ሕብረቁምፊ ወደ አሳሹ ስላተምን ኩኪው ሊዘጋጅ አልቻለም።

የንባብ ኩኪዎች እሴቶች

ኩኪዎችን እና እሴቶቻቸውን መድረስ በጣም ቀላል ነው። በሱፐርግሎባል ድርድር $_COOKIE እና $HTTP_COOKIE_VARS ውስጥ ተከማችተዋል።

እሴቶቹ የተጫኑት ኩኪዎች ስም ነው ለምሳሌ፡-

አስተጋባ $_COOKIE["የእኔ_ኩኪ"];
// የተጫነውን ኩኪ "My_Cookie" እሴቶችን ያሳያል

ኩኪን የማዘጋጀት እና ከዚያ የማንበብ ምሳሌ፡-

// ኩኪን "ፈተና" ከ"ሄሎ" እሴት ጋር ለአንድ ሰዓት ያዘጋጁ፡-
setcookie ("ሙከራ", "ሄሎ", ጊዜ ()+ 3600);
// የሚቀጥለው የስክሪፕት ጥያቄ "ሄሎ" ያትማል፡-
አስተጋባ @$_COOKIE ["ሙከራ"];
?>

በተጠቀሰው ምሳሌ፣ ስክሪፕቱ ለመጀመሪያ ጊዜ ሲደረስ፣ የኩኪ "ሙከራ" ከ"ሄሎ" እሴት ጋር ተቀናብሯል። ስክሪፕቱን እንደገና ሲደርሱ የኩኪ ዋጋ "ሙከራ" ይታያል፣ ማለትም፣ ሕብረቁምፊው "ሄሎ"።

የኩኪዎችን ዋጋዎች በሚያነቡበት ጊዜ, የኩኪዎችን መኖር ለመፈተሽ ትኩረት ይስጡ, ለምሳሌ ኦፕሬተርን በመጠቀም ኢሴት(). ወይም በኦፕሬተሩ የስህተት ውጤትን በማፈን @

ኩኪዎችን በመጠቀም ለገጽ ጭነቶች ብዛት ቆጣሪ እንዴት እንደሚገነቡ የሚያሳይ ምሳሌ ይኸውልዎት፡-

// “ሟች” ኩኪው አስቀድሞ መዘጋጀቱን ያረጋግጡ ፣
// አዎ ከሆነ ፣ እሴቱን ያንብቡ ፣
// እና የገጹን የመዳረሻ ቆጣሪ ዋጋ ይጨምሩ:
ከሆነ (isset ($ _COOKIE ["ሟች"])) $ cnt = $ _COOKIE ["ሟች"]+ 1;
ሌላ $cnt = 0;
// ኩኪን "ሟች" ከቆጣሪው እሴት ጋር ያዘጋጁ ፣
// ከ "ህይወት" ጊዜ ጋር እስከ 07/18/29,
// ማለትም፣ በጣም ረጅም ጊዜ፡-
setcookie ("ሟች" , $ cnt, 0x6FFFFFF);
// የዚህን ገጽ የጉብኝት (የማውረድ) ብዛት ያሳያል፡-
አስተጋባ "

ይህን ገጽ ጎብኝተውታል? " .@$_COOKIE ["ሟች"]። "አንድ ጊዜ

" ;
?>

ኩኪዎችን በማስወገድ ላይ

አንዳንድ ጊዜ ኩኪዎችን መሰረዝ አስፈላጊ ይሆናል. ይህን ለማድረግ አስቸጋሪ አይደለም; ኩኪውን እንደገና ተመሳሳይ ስም እና ባዶ መለኪያ ማዘጋጀት ያስፈልግዎታል. ለምሳሌ፡-

// ኩኪን ሰርዝ "ሙከራ"
አዘጋጅ ኩኪ ("ሙከራ" ,"" );
?>

የኩኪዎችን ድርድር ማቀናበር እና የእሱማንበብ

በኩኪዎች ስሞች ውስጥ የካሬ ቅንፎችን በመጠቀም የኩኪዎችን ድርድር ማዘጋጀት እና በመቀጠል የኩኪዎችን ድርድር እና የዚያን ድርድር ዋጋዎች ማንበብ እንችላለን-

// የኩኪዎችን ድርድር ያዘጋጁ
setcookie ("ኩኪ", "መጀመሪያ");
setcookie ("ኩኪ", "ሁለተኛ");
setcookie ("ኩኪ", "ሦስተኛ");

// ገጹን እንደገና ከተጫነ በኋላ እናሳያለን
// የኩኪዎች ድርድር “ኩኪ” ቅንብር፡-
ከሆነ (isset ($ _COOKIE ["ኩኪ"))) (
foreach ($_COOKIE["ኩኪ"] እንደ $name => $እሴት) (
አስተጋባ "$name: $value
" ;
}
}
?>

ኩኪዎችን መጠቀም የሚያስገኘው ጥቅም የማይካድ ነው። ይሁን እንጂ በአጠቃቀማቸው ላይ አንዳንድ ችግሮችም አሉ. ከእነዚህ ውስጥ የመጀመሪያው ጎብኚው አሳሹን ኩኪዎችን እንዳይቀበል ማገድ ወይም በቀላሉ ሁሉንም ወይም ከፊል ኩኪዎችን መሰረዝ ይችላል. ስለዚህ, እንደዚህ አይነት ጎብኝዎችን ለመለየት አንዳንድ ችግር ሊገጥመን ይችላል.



<<< Назад ይዘት ወደፊት >>>
ሌሎች ጥያቄዎች ካሉዎት ወይም የሆነ ነገር ግልጽ ካልሆነ - እንኳን ደህና መጡ ወደ እኛ

እንሆ፡ ነገሩን እንወቅ።

በመጀመሪያ ስለ HTTP በተመሳሳይ ዊኪ ላይ ያንብቡ። ጠንቅቀህ ማወቅ አያስፈልግህም ነገር ግን የጥያቄውን/ምላሽ አወቃቀሩን በትንሹ መረዳት አለብህ፣ጥያቄው እና ምላሹ ራስጌ እና አካል እንዳላቸው ተረዳ (እንደ ጥያቄው አይነት አካል ላይኖር ይችላል/ ምላሽ)።

እንግዲህ እዚህ ላይ ነው። ኩኪዎች. ኩኪዎች በአሳሹ በኩል ይኖራሉ። ለአገልጋዩ ለሚቀርቡት ጥያቄዎች ሁሉ በኤችቲቲፒ አርዕስት ይተላለፋሉ (ምንም እንኳን ስዕሎቹን ለማግኘት የሄዱ ቢሆንም)። ኩኪዎች ብቻ አሉ፣ http-ብቻ ኩኪዎች አሉ። ኩኪዎችን በአስተናጋጅ እና በመንገድ ሊለያዩ ይችላሉ. ይህ ሁሉ ተለዋዋጭነትን ይሰጠናል እና ለደህንነት ይረዳል. በPHP ውስጥ የ$_COOKIE ይዘቶች በSAPI ቀርበዋል። ፒኤችፒ የማስተናገጃ ጥያቄ ሲደርሰው፣ ጥቅም ላይ የዋለው SAPI (php-fpm፣ cgi፣ mod_php የራሳቸው የSAPI ትግበራዎች አሏቸው) በአሁኑ ጊዜ የጥያቄውን ራስጌ እና አካል ይወስዳል፣ ይተነትናል እና እነዚህን ሁሉ እንደ $_SERVER፣ $_GET፣ ወዘተ $_COOKIE። ደንበኛው የላከልን ሁሉም ነገር (ጥያቄውን የሚያቀርበው ደንበኛ ነው፣ የሚያስኬዳቸው ነገር አገልጋዩ ነው) እና አሳሹ ጥያቄው በተላከበት ቦታ ላይ በመመስረት የሚቻሉትን ብቻ ኩኪዎችን ይልክልናል። ኩኪዎች የሚዘጋጁት በምላሹ Set-Cookie ራስጌ በመጠቀም ነው፣ ማለትም፣ እዚህ ስለኤችፒፒ ሳይሆን ስለ HTTP የበለጠ ማንበብ ያስፈልግዎታል። ፒኤችፒ ከዚህ ነገር ጋር ብቻ እንዲሰሩ ያስችልዎታል። የራስጌ ተግባሩን በመጠቀም ከምላሽ ራስጌዎች ጋር በመስራት ኩኪዎችን በቀጥታ ማዘጋጀት ይችላሉ። በተጨማሪም ፣ የኩኪዎችን የህይወት ጊዜ ወደ 0 ካቀናበሩ ፣ ከዚያ እነሱ ፣ እና ክፍለ-ጊዜው አይደለም ፣ አሳሹ ሲዘጋ እንደገና ይጀመራል ፣ ምክንያቱም ሁሉንም እንደዚህ ያሉ ኩኪዎችን ይረሳል።

እዚህ... ክፍለ-ጊዜዎች... በPHP ውስጥ፣ ክፍለ ጊዜ አብዛኛውን ጊዜ ፋይል ነው። በዘፈቀደ ስም የተወሰነ ፋይል ብቻ። በ php.ini ውስጥ ክፍለ ጊዜ.autostart በ php.ini ውስጥ ከተገለጸ ወይም የክፍለ ጊዜ_ጀምር ጥሪ ከተደረገ ለተጠቃሚው ክፍለ ጊዜ ፋይል ይፈጠራል (እንደ ፍላጎቶችዎ ወደ Radish ወይም Memcache, ማከማቻዎ, ወዘተ. መውሰድ ይችላሉ. ውሂቡም ኢንክሪፕት ሊደረግ ይችላል፣ ይህም የሆነው በነባሪ ነው)። ይህ ፋይል መታወቂያ አለው፣ የተወሰነ የዘፈቀደ ሕብረቁምፊ ብቻ። እና ጥያቄን በሚሰራበት ጊዜ ካለፈው ጥያቄ አንድ ክፍለ ጊዜ ካልተገኘ አዲስ ተፈጥሯል።

እና አሁን ወደ በጣም አስደሳች ነገር ደርሰናል - ፒኤችፒ ክፍለ-ጊዜውን ከቀዳሚው ጥያቄ ጋር እንዴት እንደሚያገናኝ። እና እዚህ ሁሉም ነገር በጣም ቀላል ነው - ኩኪዎች. አንድ ተጠቃሚ ክፍለ ጊዜ ሲመደብ፣ የክፍለ-ጊዜ መለያው የተጻፈበት http-ብቻ ኩኪ በራስ-ሰር ይዘጋጃል (መጥፎ ሰዎች የእኛን ክፍለ ጊዜ ከ js እንዳይሰርቁ)። በአሳሹ አራሚ ውስጥ የ PHPSESSID ኩኪ እንዳለዎት ማየት ይችላሉ (ስሙ በቅንብሮች ውስጥ ሊቀየር ይችላል ፣ እና በአጠቃላይ ፣ ክፍለ-ጊዜዎች በኩኪዎች ብቻ ሊገናኙ ይችላሉ ፣ ግን እነዚህ ቀድሞውኑ የደህንነት ጉዳዮች ናቸው) በክፍለ-ጊዜዎች ሲሞክሩ።

ጥያቄው በSAPI ሲካሄድ፣ session.autostart ካለ፣ አዲስ ክፍለ ጊዜ ለመፍጠር ከመጀመራችን በፊት፣ ፑፍ አሁንም የክፍለ ጊዜ መለያ ያለው ኩኪ እንዳለን ለማየት ይመለከታቸዋል፣ እሱ እንዳለው ያጣራል፣ እና ካለም ያያል ይረጋጋል እና አዲስ አይፈጥርም. ክፍለ-ጊዜው በኩኪዎች የታሰረ ስለሆነ የዚህን ኩኪ ዕድሜ በራሱ (በ php.ini ውስጥ) ማቀናበር እና የክፍለ-ጊዜውን የህይወት ዘመን ማስተካከል ይችላሉ።

እዚህ ... ኩኪዎችን መቼ መጠቀም እና መቼ ክፍለ ጊዜዎችን መጠቀም እንደሚቻል? በኩኪዎች ውስጥ ብዙ ውሂብ (እና የቃላት ገደብ አላቸው) ፣ ለእያንዳንዱ ጥያቄ ብዙ ውሂብ እንደምናስተላልፍ መረዳት ይመከራል። ማለትም፣ 1 ኪሎባይት ውሂብ ለመቀበል፣ ሁለት ኪሎባይት ኩኪዎችን በራስጌዎች ውስጥ ማስተላለፍ ሲገባን ጥሩ አይደለም። በማመቻቸት ላይ ያተኮሩ ሰዎች የትራፊክ እና የፓኬቶችን መጠን ለመቀነስ በተለያዩ ኩኪ-አልባ ጎራዎች ላይ ስዕሎችን ያከማቻሉ (ብዙውን ጊዜ ቀላል የኤችቲቲፒ ጥያቄ ከአንድ TCP ፓኬት መጠን ጋር ይጣጣማል)። በማንኛውም ገጽ ላይ ከJS የሚገኘውን በዚህ ውሂብ መስራት ከፈለጉ ለምሳሌ በ JS ውስጥ ትርጉሞችን ለመተግበር በተጠቃሚው የተመረጠውን አካባቢ, ከዚያ ኩኪዎችን መጠቀም አለብዎት. ለሌላው ነገር ፣ በእርግጥ ክፍለ ጊዜዎችን መጠቀም የተሻለ ነው። በማንኛውም ሁኔታ, በመጀመሪያ ደረጃዎች, በጣም የተወሳሰበ ነገር ማድረግ በማይኖርበት ጊዜ.

የ PHP $ _SESSION ተለዋዋጮች የስራ ጊዜ እና በውጤቱም የድር መተግበሪያዎች እንቅስቃሴ በክፍለ ጊዜው ቆይታ ላይ ይወሰናል. ለምሳሌ, አንድ ተጠቃሚ ወደ ስርዓቱ ውስጥ ከገባ, መግቢያውን እና የይለፍ ቃሉን እንደገና ሳያስገባ የቦዘነበት ጊዜ በዚህ ግቤት ይወሰናል.

የክፍለ ጊዜ ህይወትን ለማዘጋጀት የተለያዩ መንገዶች አሉ. የሊኑክስ ኦፕሬቲንግ ሲስተምን እንደ ምሳሌ ተጠቅመን ለማወቅ እንሞክር።

የክፍለ-ጊዜውን የህይወት ዘመን እንዴት ማግኘት እንደሚቻል

ከማቀናበሩ በፊት, አሁን ያለውን ሁኔታ መመልከት ተገቢ ነው. ይህንን ለማድረግ በርካታ ዘዴዎች አሉ-

1. የ php ትዕዛዝን በመጠቀም በአገልጋዩ ላይ

php -i | grep ክፍለ ጊዜ

ከክፍለ-ጊዜዎች ጋር የተያያዙ መለኪያዎች ዝርዝር እናገኛለን. ፍላጎት አለን፡-

  • session.cookie_lifetime => 0 => 0
  • session.gc_maxlifetime => 1440 => 1440

እነዚህ እሴቶች ነባሪ እሴት ናቸው። cookie_lifetime => 0አሳሹ እስኪዘጋ ድረስ ስለ ኩኪዎች ተጽእኖ ይናገራል, ይህን ግቤት ወደ አንድ የተወሰነ እሴት ካዋቀሩ, ክፍለ-ጊዜው ንቁ በሚሆንበት ጊዜ ይቋረጣል, ስለዚህ በዜሮ መተው ይሻላል.

2. ini_get የ php ተግባርን በመጠቀም

$ maxlifetime = ini_get ("session.gc_maxlifetime");
$cookielifetime = ini_get ("session.cookie_lifetime");

Echo $ maxlifetime;
አስተጋባ $ Cookielifetime;

systemctl apache2 እንደገና ያስጀምሩ || systemctl httpd እንደገና ያስጀምሩ

* በሊኑክስ ስሪቶች ያለ systemd ትዕዛዙን እንጠቀማለን። አገልግሎት apache2 እንደገና መጀመርወይም አገልግሎት httpd እንደገና ይጀምራል.

FastCGI (PHP-FPM) የምንጠቀም ከሆነ፡-

በ htaccess ፋይል በኩል ማዋቀር

ይህ ፋይል የድር አስተዳዳሪ አንዳንድ የድር አገልጋይ ቅንብሮችን እንዲያስተዳድር ያስችለዋል። እሱን ለማርትዕ ወደ ጣቢያው ፋይሎች መድረስ ያስፈልግዎታል። የ PHP ተቆጣጣሪው Apache ካልሆነ ዘዴው አይሰራም፣ ግን ለምሳሌ NGINX + PHP-FPM። ምንም እንኳን, መንገድም አለ (ከዚህ በታች በእሱ ላይ ተጨማሪ).

የሚከተለውን ወደ .htaccess ፋይል እንጨምራለን፡

php_value session.gc_maxlifetime 86400
php_value session.cookie_lifetime 0

* እንደሚመለከቱት, መለኪያዎቹ በ php.ini በኩል ሲዋቀሩ ተመሳሳይ ናቸው.

ከላይ እንደተጠቀሰው, Apache ጥቅም ላይ ካልዋለ ዘዴው አይሰራም. ነገር ግን, ማዋቀሩ በአገልጋዩ ላይ ሊከናወን ይችላል (እንደገና, ተገቢውን መዳረሻ ሊኖረን ይገባል).

የድር አገልጋይ ውቅር ፋይልን ለምሳሌ በ php-fpm ይክፈቱ፡-

vi /etc/php-fpm.d/www.conf

እና አርትዕ/አክል፡

php_value = 86400
php_value = 0

ከዚያ አገልግሎቱን እንደገና እንጀምራለን-

systemctl php-fpm እንደገና ያስጀምሩ || የ php-fpm አገልግሎት እንደገና ይጀምራል

በመተግበሪያ ኮድ ውስጥ መለኪያ በማዘጋጀት ላይ

የተለያዩ የፖርታል ገፆች የተለያየ የህይወት ዘመን ሊኖራቸው ሲገባ ዘዴው ጠቃሚ ሊሆን ይችላል. ይህንን ለማድረግ የ PHP ተግባራት ini_set እና session_set_cookie_paramsን መጠቀም ይችላሉ ለምሳሌ፡-

Ini_set ("session.gc_maxlifetime", 86400);
ini_set ("session.cookie_lifetime", 0);
ክፍለ-ስብስብ_ኩኪ_ፓራምስ(0);

ክፍለ_መጀመሪያ ();

ክፍለ-ጊዜን ከመክፈትዎ በፊት ተግባራት መጠራት አለባቸው (session_start)።

በመተግበሪያው ውስጥ ክፍለ ጊዜን በማዘጋጀት ላይ

አንዳንድ መተግበሪያዎች ቅንብሮችን ሊሽሩ ይችላሉ። በዚህ ሁኔታ, በፕሮግራሙ መለኪያዎች ውስጥ የክፍለ-ጊዜውን የህይወት ዘመን ማዘጋጀት ያስፈልግዎታል. እያንዳንዱ መተግበሪያ የራሱ ቅንብሮች አሉት, ይህም እራስዎን ማወቅ ያስፈልግዎታል. በBitrix CMS ውስጥ ክፍለ ጊዜን የማዘጋጀት ምሳሌ እንውሰድ።

እንሂድ ወደ የተጠቃሚ ቡድኖች- ቡድን ይምረጡ - ደህንነት. መለኪያውን "የክፍለ ጊዜ ህይወት (ደቂቃዎች)" ይፈልጉ እና ሰዓቱን ያዘጋጁ, ለምሳሌ 1440 (24 ሰዓታት በደቂቃዎች).

ክፍለ-ጊዜዎችን በራስ-ሰር እንዴት ማደስ እንደሚቻል

ክፍለ ጊዜ ለተወሰነ ጊዜ ከተሰጠ እና በተወሰነ ጊዜ ላይ ካለቀ የተጠቃሚው ንቁ ክፍለ ጊዜ እንዲቋረጥ ሊያደርግ ይችላል። ጎብኚው ገጹን ካደሰ የክፍለ ጊዜው ቆይታ በራስ-ሰር ከተራዘመ የበለጠ ምቹ ነው። ለዚህ፣ የኩኪ_ህይወት ጊዜ መለኪያ አለ፣ ይህም ከላይ ባሉት ምሳሌዎች ሁሉ 0 አድርገናል።

የኩኪ_ህይወት ጊዜ እሴቱን ወደ 86400 ካዘጋጀነው ከ24 ሰዓታት በኋላ ክፍለ-ጊዜው ይቋረጣል። ይህ ሁልጊዜ ምቹ አይደለም.

ክፍለ-ጊዜውን ለመቆጣጠር እና ለማቋረጥ አስፈላጊ ከሆነ የ PHP ተግባርን መጠቀም ይችላሉ። ክፍለ_አጠፋ().

የክፍለ ጊዜ ፋይል ማከማቻ መንገድ

ለክፍለ-ጊዜ ፋይሎች የማከማቻ ቦታ በመለኪያው ይገለጻል ክፍለ ጊዜ.ማዳን_መንገድየሕይወት ጊዜም እንዲሁ ነው። በነባሪ, መንገዱን መጠቀም ይቻላል /var/lib/php/ክፍለ-ጊዜዎች.

ይህ አስፈላጊ መለኪያ ነው - የድር አገልጋዩ ወደዚህ ማውጫ የመጻፍ ፍቃድ ከሌለው ይህ ክፍለ ጊዜዎችን ማከማቸት አለመቻልን ያስከትላል, ይህም ከመተግበሪያዎች ያልተጠበቁ ውጤቶችን ያስከትላል.