SessionHandlerInterface ?????? ???? PHP?? ??? ?? ?? ?? ??? ?? ? ? ????. ?? ???? ??? ?????. 1) CustomsessionHandler? ?? SessionHandlerInterface? ???? ??? ???; 2) ?????? ?? (? : Open, Close, Read, Write, Despare, GC)? ???? ? ?? ???? ?? ??? ???? ?? ??? ?? ?????. 3) PHP ????? ??? ?? ?? ????? ???? ??? ??????. ?? ?? MySQL ? Redis? ?? ???? ???? ???? ??, ?? ? ?? ?? ???? ? ????.
PHP?? ??? ?? ?? ??? ???? ?? ?? ?? ????. ??? ???? ???? ??? ? ??????? ?? ?? ? ??? ????? ??? ?? ????. ??? ?? ??? ??? ??? ?? ???????.
PHP?? ??? ?? ?? ??? ???? ??? ??????
PHP?? ??? ?? ?? ?? ??? ?? SessionHandlerInterface
?????? ???? ?????. ? ?????? ?? ???? ??, ?? ? ??? ???? ?? ?? ??? ??? ??? ???? ?????. ????? ?? ???? ?? ?? ???? ?? ??????, Redis ?? ?? ???? ??? ??? ? ????.
? ??? ?? ??? ??? ??? ?? ??? ?? ? ??? ???????.
??? ???? ?? PHP?? ??? ?? ??? ??? ???. ??? ? ?? ?????? ??? ??? ???? ?? ?????? ????? PHP? ?? ???? ???? ?? ???? ?????. ??? ?? ?? ????? ?? ? ?? ??, ?? ?? ???? ???? ?? ?? ??? ??? ??? ???????.
??? ?? ?? ??? ???? ??? SessionHandlerInterface
???? ????. ? ?????? open
, close
, read
, write
, destroy
? gc
? ?? ?? ??? ?????. ??? ??? ?? ???? ?? ???? ????? ?? ? ? ????.
?? ??, ?? ???? MySQL ??????? ????? ??? ?? ? ? ????.
Class CustomsessionHandler? SessionHandlerInterface { ?? $ DB; ?? ?? __construct () { $ this-> db = new MySqli ( 'localhost', 'user', 'password', 'database'); } public function open ($ save_path, $ name) { ??? ??????. } ?? ?? close () { ??? ??????. } ?? ?? ?? ($ session_id) { $ stmt = $ this-> db-> ?? ( "id =?"???? ???? ?????); $ stmt-> bind_param ( 's', $ session_id); $ stmt-> execute (); $ result = $ stmt-> get_result (); $ data = $ result-> fetch_assoc (); return $ data [ 'data'] ?? '';; } ?? ?? ?? ($ session_id, $ session_data) { $ stmt = $ this-> db-> ?? ( "???? ??? (id, data) ? (?,?)"); $ stmt-> bind_param ( 'ss', $ session_id, $ session_data); ?? $ stmt-> execute (); } ?? ?? ?? ($ session_id) { $ stmt = $ this-> db-> ?? ( "id =?"???? ??); $ stmt-> bind_param ( 's', $ session_id); ?? $ stmt-> execute (); } ?? ?? gc ($ maxlifetime) { $ stmt = $ this-> db-> ?? ( "timestamp <?") ???? ??); $ old = time () - $ maxlifetime; $ stmt-> bind_param ( 'i', $ old); ?? $ stmt-> execute (); } }
? ??? ?? ???? MySQL ??????? ???? ??? ?????. ? ??? ?? ???? ??? ???? ????? ?? ?? ??? ?????.
? ??? ?? ?? ????? ???? PHP ????? ?? ???? ???????.
$ handler = new CustomsessionHandler (); session_set_save_handler ($ handler, true); session_start ();
?? ? ?? ?? ?? ? ??? ??? ?? ??????. ??? ?? ?? ??? ??? ?? ??? ?? ??? ???????.
- ?? : ?????? ??? ?? ?? ????? ?? ??? ???? ??? ? ? ????. Redis? ?? ?? ????? ???? ??? ???? ? ????.
- ?? : ?? ????? ??? ??? ???? ???? ?? ? ???? ?? ??? ??? ???????. HTTPS ? ??? ? ????? ???? ?? ???? ?????.
- ?? ? : ?? ????? ??? ??? ?? ?? ?? ???? ?? ?? ??? ??? ? ??? ???????. ?? ?? ???? (? : Memcached ?? Redis)? ?? ?????.
?? ??????? ?? ???? ?? ???? ? ??? ??????. ?? ??? ????, ?? ??? ??? ??? ??? ?? ??? ???? ??? ???? ??? ???? ??? ? ????. ? ??? ???? ?? ?? ?????? SESSION ?????? ??? ?? ????? ???? REDIS? ???? ?? ???? ??? ??? ??????.
?? ?? ?? ($ session_id) { $ this-> lock ($ session_id); $ data = parent :: read ($ session_id); ?? $ ???; } ?? ?? ?? ($ session_id, $ session_data) { $ result = parent :: ?? ($ session_id, $ session_data); $ this-> ?? ?? ($ session_id); ?? $ ??; } ?? ?? ?? ($ session_id) { $ redis = new redis (); $ redis-> connect ( 'localhost', 6379); while (! $ redis-> setnx ( "lock : $ session_id", true)) { usleep (50000); // 50ms? ????? } } ?? ?? ?? ?? ($ session_id) { $ redis = new redis (); $ redis-> connect ( 'localhost', 6379); $ redis-> del ( "lock : $ session_id"); }
? ?? ????? ??? ?? ? ??? ??? ???? ?? ???? ??? ?? ? ? ??????.
????? ? ?? ?? ??? ??????.
- ?? ? ???? : ?? ????? ??? ???? ?? ???? ???? ? ??? ??? ?? ? ? ????.
- ?? ?? : ?? ????? ??? ??? ???? ???? ?? ???? ?? ?? ??? ?? ? ??? ??????.
- ??? : ?? ????? ??? ?????? ??? ????? ???? ?? ?? ??? ? ?? ???? ??????.
??? ??? ??? ?? ??? ?? ?? ??? ??? ????? ??? ? ?? ??????? ???? ????? ?? ? ????. ??? ??? PHP?? ??? ?? ?? ??? ? ? ???? ???? ? ?????? ????.
? ??? PHP?? ??? ?? ?? ??? ??? ??????? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? AI ??

Undress AI Tool
??? ???? ??

Undresser.AI Undress
???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover
???? ?? ???? ??? AI ?????.

Clothoff.io
AI ? ???

Video Face Swap
??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

?? ??

??? ??

???++7.3.1
???? ?? ?? ?? ???

SublimeText3 ??? ??
??? ??, ???? ?? ????.

???? 13.0.1 ???
??? PHP ?? ?? ??

???? CS6
??? ? ?? ??

SublimeText3 Mac ??
? ??? ?? ?? ?????(SublimeText3)

PHP ?? ??? ?? ???? ?? ? ????? ??? ?????. 1. ?? ??? ??? ??? ??? ? ? ??? ??? ??? ?? ?? ??? ???? ???????. 2. ?? ??? ???? ???? ? ?? ????? ?? ?? ?? ??? ?????. 3. $ _get ? $ _post? ?? Hyperglobal ??? ?? ???? ?? ??? ? ??? ??? ??????? ???????. 4. ?? ?? ?? ???? ?? ?? ?? ??? ?????? ?? ??? ??? ?? ??? ???????. ??? ??? ????? ??? ??? ?? ???? ????? ? ??? ? ? ????.

PHP ?? ???? ???? ????? ?? ? ??? ???? ?? ?? ? ??? ???? ?? ??? ?????? ??? ??? ? ? ???????. 1. ??? ?? CSRF? ???? ?? ??? ??? ???? ?????? ??? ???? FINFO_FILE? ?? ?? MIME ??? ?????. 2. ??? ??? ??? ???? ??? ?? ??? ?? ? WEB ????? ??? ???? ??????. 3. PHP ?? ??? ?? ? ?? ???? NGINX/APACHE? ??? ????? ?? ???? ?????. 4. GD ?????? ??? ? ?? ???? ??? ?? ??? ?? ????.

PHP ?? ???? ? ?? ???? ??? ????. 1. // ?? #? ???? ? ?? ??? ???? // ???? ?? ????. 2. ?? /.../ ?? ?? ?? ??? ????? ?? ? ?? ??? ?? ? ? ????. 3. ?? ?? ?? / if () {} /? ?? ?? ??? ????? ??? ?? ?? ?? ??? ???? ????? ???? ??? ?? ???? ???? ??? ? ??? ??????.

Ageneratorinphpisamemory- ???? Way-Erate-Overgedatasetsetsbaluesoneatimeatimeatimeatimallatonce.1.generatorsuseTheyieldKeywordTocroadtOpvaluesondemand, RetingMemoryUsage.2

PHP ??? ???? ??? ??? ??? ????? ????. ??? ????? ?? ???? ??? "?? ? ?"??? "?"? ???????. 1. ??? ? ??? ??? DocBlock (/*/)? ?? ?? ??? ???? ??? ? ?? ???? ??????. 2. JS ??? ???? ?? ???? ??? ?? ??? ??? ?????. 3. ??? ?? ?? ?? ??? ???? ????? ????? ???? ?? ????? ???? ? ??????. 4. Todo ? Fixme? ????? ???? ? ? ??? ??? ???? ?? ?? ? ??? ???????. ??? ???? ?? ??? ??? ?? ?? ?? ???? ???? ? ????.

tolearnpheffectical, startBysetTupaloCalserErverEnmentUsingToolslikexamppandacodeeditor -likevscode.1) installxamppforapache, mysql, andphp.2) useacodeeditorforsyntaxsupport.3)) 3) testimplephpfile.next, withpluclucincludechlucincluclucludechluclucled

PHP??? ???? ??? ?? ?? ????? ???? ??? ?? ??? ??? ?? ? ??? ??? ???? ?????. ???? 0?? ???? ?? ??? ???? ? ?? ???? ?? ?? ? ? ????. MB_SUBSTR? ?? ??? ??? ???????. ? : $ str = "hello"; echo $ str [0]; ?? H; ??? MB_SUBSTR ($ str, 1,1)? ?? ??? ??? ??? ??????. ?? ???????? ???? ??? ???? ?? ???? ?? ?? ???? ?????? ??? ????? ?? ??? ?? ??? ???? ???? ?? ????.

toinstallphpquickly, usexampponwindowsorhomebrewonmacos.1. ??, downloadandinstallxAmpp, selectComponents, startApache ? placefilesinhtdocs.2
