×ðÁú¿­Ê±¹ÙÍøµÇ¼

ÔõÑùÔÚThinkPHP6ÖоÙÐÐÎļþ¼ÓËøÏ¢ÕùËø²Ù×÷£¿

ÔÚweb¿ª·¢ÖÐ £¬Îļþ²Ù×÷ÊǷǾ­³£¼ûµÄʹÃüÖ®Ò» ¡£ÔÚ´¦ÀíÎļþʱ £¬ÎÒÃǾ­³£ÐèÒªÓõ½¼ÓËøÏ¢ÕùËøµÄ²Ù×÷ £¬ÒÔ±ÜÃâ¶à¸öÀú³Ìͬʱ¶Ôͳһ¸öÎļþ¾ÙÐжÁд²Ù×÷¶ø±¬·¢Êý¾Ý³åÍ» ¡£ ÔÚthinkphp6¿ò¼ÜÖÐ £¬ÎÒÃÇ¿ÉÒÔʹÓÃphpµÄflockº¯ÊýÀ´ÊµÏÖÎļþ¼ÓËøÏ¢ÕùËø²Ù×÷ ¡£½ÓÏÂÀ´ £¬±¾ÎĽ«ÏêϸÏÈÈÝÔÚthinkphp6ÖÐÔõÑù¾ÙÐÐÎļþ¼ÓËøÏ¢ÕùËø²Ù×÷ ¡£

1.Îļþ¼ÓËø²Ù×÷

ÔÚThinkPHP6¿ò¼ÜÖÐ £¬ÎÒÃÇ¿ÉÒÔʹÓÃPHPµÄflockº¯ÊýÀ´ÊµÏÖÎļþ¼ÓËø²Ù×÷ ¡£¸Ãº¯ÊýÓÃÓÚ»ñÈ¡ÎļþËø £¬ÒÔ±ÜÃâÆäËûÀú³ÌÐÞ¸ÄÎļþ ¡£ËüµÄÓï·¨ÈçÏ£º

bool flock ( resource $handle , int $operation [, int &$wouldblock ] )

ÆäÖÐ £¬handle²ÎÊýÊÇÒ»¸ö·­¿ªµÄÎļþ×ÊÔ´ £¬operation²ÎÊýÊÇÒ»¸öËøµÄ²Ù×÷ÀàÐÍ £¬wouldblock²ÎÊýÊÇÒ»¸öÒýÓòÎÊý £¬ÌåÏÖÊÇ·ñ±»¹£Èû ¡£operation²ÎÊý¿ÉÒÔÓÐÒÔÏÂÖµ:

Á¬Ã¦Ñ§Ï°¡°PHPÃâ·ÑѧϰÌõ¼Ç£¨ÉîÈ룩¡±£»

LOCK_SH – ¹²ÏíËø £¬¶à¸öÀú³Ì¿Éͬʱ»ñÈ¡Ëø £¬µ«Ö»ÄܶÁ²»¿Éд ¡£

LOCK_EX – ÅÅËûËø £¬Ö»ÓÐÒ»¸öÀú³Ì¿ÉÒÔ»ñÈ¡Ëø £¬¿ÉÒÔ¶ÁÒ²¿ÉÒÔд ¡£

LOCK_UN – ÊÍ·ÅËø ¡£

LOCK_NB – ÈôÊDz»Ï£Íûflockº¯ÊýÔÚ»ñÈ¡Ëøʱ¹£Èû £¬¿ÉÒÔÔÚ²Ù×÷²ÎÊýÖмÓÉÏLOCK_NB ¡£

Õë¶ÔÒ»¸öʾÀý´úÂ룺

$file_path = '/path/to/file.txt';
$file_handle = fopen($file_path, 'a+');
if (flock($file_handle, LOCK_EX)) {
   //ÔÚ´Ë´¦¾ÙÐÐÎļþд²Ù×÷ 
   flock($file_handle, LOCK_UN); //½âËøÎļþ
}
fclose($file_handle);

µÇ¼ºó¸´ÖÆ

ÉÏÊö´úÂëÑÝʾÁËÔõÑùÔÚÎļþ¾ÙÐÐд²Ù×÷ʱ¼ÓËø ¡£Ê×ÏÈ £¬ÎÒÃÇʹÓÃÎļþ·¾¶·­¿ªÎļþ¾ä±ú £¬È»ºóŲÓÃflockº¯ÊýÒÔʹÓÃÅÅËûËø½«Îļþ¼ÓËø ¡£ÔÚÎļþ¼ÓËøÀֳɺó £¬ÎÒÃÇ¿ÉÒÔÔÚ´úÂë¿éÄÚÖ´ÐÐд²Ù×÷ ¡£×îºó £¬ÔÚ´úÂë¿éÍⲿ £¬ÎÒÃÇŲÓÃflockº¯ÊýÒÔÊÍ·ÅÎļþËø £¬¹Ø±ÕÎļþ¾ä±úÒÔ¿¢ÊÂÎļþ²Ù×÷ ¡£

2.Îļþ½âËø²Ù×÷

ÔÚÍê³ÉÎļþ²Ù×÷ºó £¬ÎÒÃÇÐèҪʹÓÃflockº¯ÊýÀ´½âËøÎļþ ¡£¹ØÓÚÒѼÓËøµÄÎļþ £¬ÎÒÃÇ¿ÉÒÔʹÓÃLOCK_UN²ÎÊýÀ´ÊÍ·ÅËø ¡£

¹ØÓÚÊÍ·ÅËøµÄ´úÂëÈçÏ£º

flock($file_handle, LOCK_UN);

ÉÏÊö´úÂëÑÝʾÁËÔõÑùÔÚ´úÂë¿é¿¢ÊÂʱʹÓÃflockº¯Êý½âËøÎļþ ¡£

×ÛÉÏ £¬±¾ÎÄÏêϸÏÈÈÝÁËÔÚThinkPHP6¿ò¼ÜÖÐʵÏÖÎļþ¼ÓËøÏ¢ÕùËø²Ù×÷µÄÒªÁì ¡£Í¨¹ýʹÓÃflockº¯Êý £¬ÎÒÃÇ¿ÉÒÔÇáËÉʵÏÖÎļþ¼ÓËøÏ¢ÕùËø²Ù×÷ £¬´Ó¶ø°ü¹Ü¶à¸öÀú³ÌÔÚ²Ù×÷ͳһ¸öÎļþʱ²»»á±¬·¢Êý¾Ý³åÍ» ¡£

ÒÔÉϾÍÊÇÔõÑùÔÚThinkPHP6ÖоÙÐÐÎļþ¼ÓËøÏ¢ÕùËø²Ù×÷£¿µÄÏêϸÄÚÈÝ £¬¸ü¶àÇë¹Ø×¢±¾ÍøÄÚÆäËüÏà¹ØÎÄÕ£¡

ÃâÔð˵Ã÷£ºÒÔÉÏչʾÄÚÈÝȪԴÓÚÏàÖúýÌå¡¢ÆóÒµ»ú¹¹¡¢ÍøÓÑÌṩ»òÍøÂçÍøÂçÕûÀí £¬°æȨÕùÒéÓë±¾Õ¾ÎÞ¹Ø £¬ÎÄÕÂÉæ¼°¿´·¨Óë¿´·¨²»´ú±í×ðÁú¿­Ê±¹ÙÍøµÇ¼ÂËÓÍ»úÍø¹Ù·½Ì¬¶È £¬Çë¶ÁÕß½ö×ö²Î¿¼ ¡£±¾ÎĽӴýתÔØ £¬×ªÔØÇë˵Ã÷À´ÓÉ ¡£ÈôÄúÒÔΪ±¾ÎÄÇÖÕ¼ÁËÄúµÄ°æȨÐÅÏ¢ £¬»òÄú·¢Ã÷¸ÃÄÚÈÝÓÐÈκÎÉæ¼°ÓÐÎ¥¹«µÂ¡¢Ã°·¸Ö´·¨µÈÎ¥·¨ÐÅÏ¢ £¬ÇëÄúÁ¬Ã¦ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼ʵʱÐÞÕý»òɾ³ý ¡£

Ïà¹ØÐÂÎÅ

ÁªÏµ×ðÁú¿­Ê±¹ÙÍøµÇ¼

18523999891

¿É΢ÐÅÔÚÏß×Éѯ

ÊÂÇéʱ¼ä£ºÖÜÒ»ÖÁÖÜÎå £¬9:30-18:30 £¬½ÚãåÈÕÐÝÏ¢

QR code
ÍøÕ¾µØͼ